9b6419588d84fa636996bc502238fbbdbc97cdd5
[model-checker-benchmarks.git] / doc / benchmark-list.txt
1 *** LOCK LIKE THINGS ***
2
3 barrier [36 LOC in .h]
4  C++ implementation of a spinlock barrier with a wait() call
5
6 seqlock [50 LOC]
7  C implementation of a lock; two atomic_ints of state
8
9 dekker-fences [75 LOC]
10  C++ implementation of Dekker's critical seciton algorithm, implemented with fences
11
12 linuxrwlocks [80 LOC]
13  C implementation of linux-like RW lock
14
15 *** ARRAY-BASED DATA STRUCTURES ***
16
17 mpmc-queue [97 LOC]
18  C++ implementation of bounded queue
19  uses 3 atomic ints as state, plus the queue itself---an array of fixed size
20
21 chase-lev-deque-bugfix [23 LOC in .h, 85 LOC in .c]
22  C implementation of a deque ADT, uses atomic_store_explicit, and an array
23
24 *** LINKED DATA STRUCTURES ****
25
26 mcs-lock [93 LOC]
27  C++ implementation of mcs mutex, implements a linked list
28
29 treiber-stack [158 LOC]
30 ms-queue [192 LOC]
31  C implementation of a stack and queue, respectively. Uses -> next, indexes an array.
32
33 spsc-queue [77 LOC in queue.h]
34  C++ implementation of a queue via linked list
35
36 cliffc-hashtable [971 LOC in .h file]
37  C++ implementation of a simplified Java NonblockingHashMap
38