Added to TODO.detail/performance.
> 1. Just changed
> TAS(lock) to pthread_mutex_trylock(lock)
> S_LOCK(lock) to pthread_mutex_lock(lock)
> S_UNLOCK(lock) to pthread_mutex_unlock(lock)
> (and S_INIT_LOCK to share mutex-es between processes).
>
> 2. pgbench was initialized with scale 10.
> SUN WS 10 (512Mb), Solaris 2.6 (I'm unable to test on E4500 -:()
> -B 16384, wal_files 8, wal_buffers 256,
> checkpoint_segments 64, checkpoint_timeout 3600
> 50 clients x 100 transactions
> (after initialization DB dir was saved and before each test
> copyed back and vacuum-ed).
>
> 3. No difference.
> Mutex version maybe 0.5-1 % faster (eg: 37.264238 tps vs 37.083339 tps).
>
> So - no gain, but no performance loss "from using pthread library"
> (I've also run tests with 1 client), at least on Solaris.
>
> And so - looks like we can use POSIX mutex-es and conditional variables
> (not semaphores; man pthread_cond_wait) and should implement light lmgr,
> probably with priority locking.
>
> Vadim
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026