1 #1 Some metrics to show how difficult to write specifications for the
3 ELOC --- Essential Lines of Code (Without counting blanks and comments)
4 LOES --- Lines of Essential Specificaitons (Without counting the "/** @Begin" and "@End */")
5 SDS --- Sequential Data Structure
7 PS --- Pre/post-conditions and SideEffects
9 Benchmark ELOC #API methods #OP LOES for SDS LOES for PS LOES for OP LOES for Synchronization total LOES LOES (OP + Sync)
10 Chase-Lev Deque 92 3 5 27 19 13 6 65 19
11 SPSC Queue 129 2 2 27 7 6 3 43 9
12 ReadCopyUpdate 26 2 2 3 5 6 3 17 9
13 Lockfree Hashtable 421 2 4 44 11 22 5 82 27
14 MCS Lock 151 2 4 3 6 10 1 20 11
15 MPMC Queue 65 4 8 0 0 32 5 37 37
16 M&S Queue 59 2 6 27 10 22 3 62 25
17 Linux RW Lock 90 6 11 6 21 28 10 65 38
19 Total 1033 23 42 137 79 139 36 391 175