-
Notifications
You must be signed in to change notification settings - Fork 0
/
results.txt
362 lines (345 loc) · 37.3 KB
/
results.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
# Custom linked list + synchronization by "this"
# -i 5 -t 50 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customColdGet thrpt 50 5 1 1031861.773 16147.312 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customColdSet thrpt 50 5 1 1102938.886 16681.638 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customNoRemove thrpt 50 5 1 5549172.765 36187.835 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customRemove thrpt 50 5 1 944859.412 13313.141 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customWarmGet thrpt 50 5 1 4338561.876 13469.196 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customWarmSet thrpt 50 5 1 3482724.698 474293.482 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalColdGet thrpt 50 5 1 1531833.389 192869.299 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalColdSet thrpt 50 5 1 2189814.270 33824.335 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalNoRemove thrpt 50 5 1 5080322.871 36378.873 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalRemove thrpt 50 5 1 3969912.530 43918.960 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalWarmGet thrpt 50 5 1 3920222.008 15346.575 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalWarmSet thrpt 50 5 1 3640421.571 472554.039 ops/ms
# ConcurrentLinkedQueue
# -i 5 -t 50 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customColdGet thrpt 50 5 1 668060.634 31703.741 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customColdSet thrpt 50 5 1 661238.613 62755.923 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customNoRemove thrpt 50 5 1 5151803.495 55290.363 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customRemove thrpt 50 5 1 1200109.932 32971.173 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customWarmGet thrpt 50 5 1 4364849.930 20943.659 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.customWarmSet thrpt 50 5 1 3756801.004 412301.534 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalColdGet thrpt 50 5 1 1528940.983 241600.060 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalColdSet thrpt 50 5 1 2166948.349 144088.864 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalNoRemove thrpt 50 5 1 4999050.826 33964.721 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalRemove thrpt 50 5 1 3942935.221 29481.384 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalWarmGet thrpt 50 5 1 3918442.184 20544.346 ops/ms
c.o.j.b.CustomThreadLocalBenchmark.originalWarmSet thrpt 50 5 1 3582492.810 732899.456 ops/ms
# Incorrect code! Volatile w/o synchronization
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.488 0.234 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.616 0.548 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 542.370 20.102 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 5.531 0.523 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.459 0.080 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 500.617 38.918 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.474 0.153 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 545.048 38.358 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.969 0.615 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 5.772 0.688 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 9.040 1.154 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 47.934 1.953 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 11.361 1.113 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.837 0.447 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 61.974 2.314 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.567 0.584 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 54.634 2.526 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 5.090 0.385 ns/op
# Volatile with ReentrantLock pool
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.456 0.484 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.552 1.035 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 671.422 22.121 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 4.977 0.441 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.482 0.150 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 423.917 11.303 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.475 0.140 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 460.562 26.148 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.871 0.674 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 4.905 0.459 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 6.625 0.729 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 67.497 5.289 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 10.775 0.648 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.768 0.376 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 58.765 2.293 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.557 0.327 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 58.942 2.172 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 4.552 0.347 ns/op
# Volatile with synchronization monitor pool
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.410 0.868 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.438 1.042 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 228.887 6.599 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 4.987 0.345 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.423 0.068 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 394.204 20.376 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.480 0.159 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 327.206 23.745 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.958 0.626 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 5.660 0.855 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 8.957 1.004 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 48.947 2.526 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 10.429 1.457 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.751 0.220 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 62.464 0.942 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.658 0.737 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 61.473 2.442 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 4.665 0.474 ns/op
# Non volatile with synchronization monitor pool
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 6.300 1.282 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.510 0.547 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 222.894 7.956 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 5.047 0.360 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.450 0.149 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 200.614 6.681 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.468 0.171 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 336.751 14.026 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.925 0.609 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 4.335 0.644 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 8.765 0.801 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 30.431 3.437 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 10.415 1.296 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.685 0.325 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 57.244 2.074 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.523 0.341 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 62.799 5.201 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 4.895 0.092 ns/op
# Non volatile with single synchronization monitor
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.579 0.715 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.504 0.969 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 637.258 3.184 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 8.933 2.198 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.458 0.172 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 593.326 16.264 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.458 0.095 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 526.633 50.344 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 5.181 1.207 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 5.778 0.485 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 8.727 1.389 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 70.583 1.606 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 10.485 1.406 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.679 0.054 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 64.293 2.181 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.611 0.634 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 55.740 2.324 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 5.068 0.553 ns/op
# Incorrect!!! Non volatile w/o synchronization
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.371 0.374 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.589 0.681 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 292.345 6.990 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 4.858 0.352 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.456 0.146 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 290.546 5.979 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.464 0.146 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 241.814 12.498 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.922 0.633 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 4.375 0.797 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 7.226 0.716 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 48.066 2.650 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 10.550 1.501 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.720 0.191 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 58.047 1.686 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.583 0.504 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 64.141 1.505 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 4.447 0.662 ns/op
# Experimental! Unrolled linked list + thread unique short number + extend synchronization
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.895 0.787 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.502 0.671 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 166.593 1.805 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 4.987 0.570 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.484 0.121 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 198.220 4.215 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.484 0.236 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 217.492 21.583 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 4.900 0.461 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 4.154 0.192 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 7.257 1.335 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 47.816 2.635 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 7.414 0.645 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.709 0.359 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 57.937 3.089 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.599 0.369 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 68.743 1.325 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 4.554 0.532 ns/op
# Fixed (cleanup added)! Unrolled linked list + thread unique short number + extend synchronization.
# -i 5 -t 5 -f 1 -wi 5
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 5 1 5.601 0.533 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 5 1 5.549 0.583 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 5 1 189.800 8.675 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 5 1 5.067 0.762 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 5 1 1.484 0.116 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 5 1 187.482 1.900 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 5 1 1.433 0.037 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 5 1 236.147 9.228 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 5 1 5.046 0.472 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 5 1 4.534 0.445 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 5 1 7.616 1.159 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 5 1 61.405 4.860 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 5 1 8.638 0.898 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 5 1 2.703 0.309 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 5 1 35.381 2.949 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 5 1 3.680 0.726 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 5 1 67.913 0.871 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 5 1 5.071 0.519 ns/op
# Unrolled list + thread unique short number + extend synchronization
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 75 1 5.818 0.112 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 75 1 10.130 0.213 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 75 1 162.677 7.708 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 75 1 8.579 0.126 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 75 1 1.520 0.030 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 75 1 194.316 5.329 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 75 1 1.485 0.013 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 75 1 209.185 2.716 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 75 1 5.120 0.067 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 75 1 5.689 0.176 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 75 1 7.971 0.262 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 75 1 51.267 4.073 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 75 1 8.621 0.518 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 75 1 2.780 0.031 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 75 1 57.118 0.948 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 75 1 3.697 0.023 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 75 1 60.447 4.706 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 75 1 5.098 0.092 ns/op
# Unrolled list + thread unique short number + extend synchronization + fixed thread
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 75 1 5.778 0.078 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 75 1 9.733 0.112 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 75 1 196.104 11.325 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 75 1 8.410 0.128 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 75 1 1.472 0.015 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 75 1 183.871 15.269 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 75 1 1.503 0.016 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 75 1 181.317 8.121 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 75 1 5.631 0.096 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 75 1 6.387 0.240 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 75 1 10.182 0.278 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 75 1 51.710 2.738 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 75 1 9.805 0.574 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 75 1 3.403 0.042 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 75 1 55.196 3.523 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 75 1 4.410 0.033 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 75 1 79.624 6.628 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 75 1 6.026 0.120 ns/op
# Thread unique short number + extend synchronization + 2d lazy array
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 75 1 6.034 0.236 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 75 1 13.362 0.430 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 75 1 79.339 4.951 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 75 1 10.354 0.506 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 75 1 3.159 0.024 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 75 1 68.844 6.832 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 75 1 5.792 0.104 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 75 1 79.451 5.959 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 75 1 6.108 0.130 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 75 1 5.441 0.193 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 75 1 8.194 0.324 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 75 1 49.645 3.360 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 75 1 8.650 0.507 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 75 1 2.851 0.031 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 75 1 59.492 0.886 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 75 1 3.757 0.043 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 75 1 50.760 1.115 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 75 1 4.985 0.108 ns/op
# Thread unique short number + extend synchronization + 2d lazy array + non-nullable reference
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 75 1 5.474 0.166 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 75 1 12.042 0.097 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 75 1 7.183 0.095 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 75 1 9.249 0.074 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 75 1 1.760 0.014 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 75 1 8.187 0.181 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 75 1 3.132 0.040 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 75 1 8.162 0.054 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 75 1 5.801 0.166 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 75 1 5.539 0.074 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 75 1 8.124 0.222 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 75 1 54.120 1.518 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 75 1 9.198 0.457 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 75 1 2.742 0.023 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 75 1 60.184 1.054 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 75 1 3.673 0.026 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 75 1 51.494 1.232 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 75 1 4.955 0.102 ns/op
# Thread unique short number + extend synchronization + 2d lazy array + non-nullable reference (refactored)
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Thr Count Sec Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 5 75 1 5.169 0.039 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 5 75 1 12.862 0.184 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 5 75 1 100.088 12.753 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 5 75 1 10.236 0.197 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 5 75 1 1.768 0.019 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 5 75 1 128.869 17.744 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 5 75 1 3.224 0.029 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 5 75 1 62.242 7.029 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 5 75 1 4.264 0.042 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 5 75 1 5.296 0.204 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 5 75 1 8.229 0.225 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 5 75 1 46.202 4.063 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 5 75 1 8.477 0.485 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 5 75 1 2.764 0.021 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 5 75 1 58.141 1.707 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 5 75 1 3.713 0.028 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 5 75 1 55.008 0.647 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 5 75 1 5.143 0.172 ns/op
# Thread unique short number + extend synchronization + 2d lazy array + non-nullable reference (refactored) + jdk8
# -i 15 -t 5 -f 5 -wi 15
Benchmark Mode Samples Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 75 4.821 0.047 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 75 9.323 0.345 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 75 20.462 2.179 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 75 32.828 5.053 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 75 1.762 0.029 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 75 10.971 1.257 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 75 3.014 0.027 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 75 26.752 4.158 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 75 19.407 4.127 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 75 5.878 0.064 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 75 9.539 0.095 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 75 72.645 4.767 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 75 17.661 6.062 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 75 2.777 0.025 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 75 67.026 6.568 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 75 3.661 0.040 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 75 69.915 5.304 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 75 19.316 4.419 ns/op
# Thread unique short number + extend synchronization + 2d lazy array + non-nullable reference (refactored) + jdk8 + test object pool
# -i 25 -t 5 -f 5 -wi 15
Benchmark Mode Samples Mean Mean error Units
c.o.j.b.CustomThreadLocalBenchmark.customGet avgt 125 4.791 0.063 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetGet avgt 125 9.116 0.095 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetRemove avgt 125 373.703 3.307 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customGetSet avgt 125 408.434 4.854 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemove avgt 125 1.976 0.037 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveGet avgt 125 376.395 2.450 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveRemove avgt 125 3.074 0.058 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customRemoveSet avgt 125 378.815 2.385 ns/op
c.o.j.b.CustomThreadLocalBenchmark.customSet avgt 125 406.989 4.854 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGet avgt 125 5.968 0.085 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetGet avgt 125 11.480 0.475 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetRemove avgt 125 397.968 3.142 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalGetSet avgt 125 402.226 3.298 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemove avgt 125 3.049 0.049 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveGet avgt 125 391.582 2.860 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveRemove avgt 125 3.986 0.066 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalRemoveSet avgt 125 397.041 2.802 ns/op
c.o.j.b.CustomThreadLocalBenchmark.originalSet avgt 125 385.192 5.972 ns/op