Synchrobench is a benchmark suite for comparing synchronization techniques. It comprises common data structures (e.g., linked list, skip list, hash table, arrays) that implement several abstractions (e.g., set, map, queue). These algorithms are implemented using fine-grained locking (spinlock, mutex), transactional memory (E-STM, TinySTM, SwissTM) or lock-free techniques (compare-and-swap).
Synchrobench is available online at synchrobench.
Synchrobench was formerly called Microbench whose old versions can be found at microbench.
Crain T., Gramoli, V., Raynal, M. (2012) A Speculation-Friendly Binary Search Tree. Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP).
Dragojevic A., Felber P., Gramoli V., Guerraoui R. (2011) Why STM can be more than a Research Toy. Communications of the ACM (CACM).