This is an old revision of the document!
Synchrobench
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).
- Lock-free algorithms (e.g., harris-michael, fraser's lock-free skip-list).
- Fine-grained locking algorithms (e.g., lazy linked list, optimistic skip list).
- Transactions-based algorithms (e.g., speculation-friendly binary search tree).
Synchrobench was formerly called microbench.
The most recent version can be found at