changes
[cdsspec-compiler.git] / note.txt
1 #1 Some metrics to show how difficult to write specifications for the
2 benchmarks.
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
6 OP --- Ordering Points
7 PS --- Pre/post-conditions and SideEffects
8
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
18
19 Total                   1033    23              42      137             79              139             36                              391             175