On Friday 30 January 2015 18:09:40 Antony Polukhin wrote:
Hi,
One of the Mesa developers implemented a faster mutex: http://lists.freedesktop.org/archives/mesa-dev/2015-January/075260.html
According to the sources of glibc, Mesa's mutex has a much smaller size (only 1 uint32_t vs 6 ints + 2 pointers), performs less actions before and after the actual syscall (no getting and setting of the mutex->__data.__owner, no type field checks)
This gives an ~10% speedup.
Just curious, maybe ideas from Mesa's mutex could be useful for some of the Boost libraries.
I do have plans on implementing futex-based mutex and condition variable, but it's not my top priority. I think the first release of Boost.Sync will be based on pthread. Also, I've not decided if the futex-based implementation should be provided as an alternative since in some situations it might be needed to have access to the underlying primitives such as pthread_mutex_t.