From: | "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM> |
---|---|
To: | "'pgsql-hackers(at)postgresql(dot)org'" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Using POSIX mutex-es |
Date: | 2001-08-01 19:04:24 |
Message-ID: | 3705826352029646A3E91C53F7189E32016705@sectorbase2.sectorbase.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2001-08-01 19:10:14 | Re: Problem with FK referential actions |
Previous Message | Neil Padgett | 2001-08-01 18:56:37 | Re: Patch for Improved Syntax Error Reporting |