diff options
author | Rich Felker <dalias@aerifal.cx> | 2014-08-25 16:38:25 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2014-08-25 16:38:25 -0400 |
commit | 2ff714c6138da8abb50fd532503fd8d68a18811a (patch) | |
tree | d962f59e257148b70dbfd60284738e004d5b0d02 /src/thread/pthread_spin_trylock.c | |
parent | 8b3d7d0d35f97051bc994800c928a7db53316dd2 (diff) | |
download | musl-2ff714c6138da8abb50fd532503fd8d68a18811a.tar.gz musl-2ff714c6138da8abb50fd532503fd8d68a18811a.tar.xz musl-2ff714c6138da8abb50fd532503fd8d68a18811a.zip |
spin in sem_[timed]wait before performing futex wait
empirically, this increases the maximum rate of wait/post operations between two threads by 20-150 times on machines I tested, including x86 and arm. conceptually, it makes sense to do some spinning because semaphores are intended to be usable as a notification mechanism between threads, not just as locks, and low-latency notification is a valuable property to have.
Diffstat (limited to 'src/thread/pthread_spin_trylock.c')
0 files changed, 0 insertions, 0 deletions