@@ -13,63 +13,63 @@ The following results were recorded on an _M4 Macbook Pro_, using 8 threads and
1313100,000 entries for each benchmark:
1414
1515- ` Int2ObjectSyncMap ` ** get()** speed is...
16- - 5693.1 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
17- - 6365.4 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
18- - 12794.7 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
16+ - 6369.2 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
17+ - 4702.9 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
18+ - 7676.2 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
1919
2020- ` Int2ObjectSyncMap ` ** put()** speed is...
21- - 1052.4 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
22- - 869 .2% ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
23- - 2309.5 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
21+ - 1168.2 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
22+ - 1252 .2% ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
23+ - 2380.9 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
2424
2525- ` Int2ObjectSyncMap ` ** put()** then ** get()** speed is...
26- - 3221.0 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
27- - 3342.1 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
28- - 4000.0 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
26+ - 3741.2 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for an empty map.
27+ - 3644.4 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a presized empty map.
28+ - 2985.7 % ** FASTER** than ` Int2ObjectMaps#synchronize() ` for a full map.
2929
3030### Results
3131
3232``` txt
33- Benchmark (implementation) (mode) (prime) (readPercentage) (size) Mode Cnt Score Error Units
34- Int2ObjectSyncMapBenchmark.get_only SyncMap none false 50 100000 thrpt 5 1.680 ± 0.001 ops/ns
35- Int2ObjectSyncMapBenchmark.get_only SyncMap none true 50 100000 thrpt 5 1.680 ± 0.001 ops/ns
36- Int2ObjectSyncMapBenchmark.get_only SyncMap presize false 50 100000 thrpt 5 1.681 ± 0.003 ops/ns
37- Int2ObjectSyncMapBenchmark.get_only SyncMap presize true 50 100000 thrpt 5 1.679 ± 0.003 ops/ns
38- Int2ObjectSyncMapBenchmark.get_only SyncMap prepopulate false 50 100000 thrpt 5 1.752 ± 1.043 ops/ns
39- Int2ObjectSyncMapBenchmark.get_only SyncMap prepopulate true 50 100000 thrpt 5 2.450 ± 0.029 ops/ns
33+ Benchmark (implementation) (mode) (prime) (readPercentage) (size) Mode Cnt Score Error Units
34+ Int2ObjectSyncMapBenchmark.get_only SyncMap none false 50 100000 thrpt 5 1.681 ± 0.001 ops/ns
35+ Int2ObjectSyncMapBenchmark.get_only SyncMap none true 50 100000 thrpt 5 1.682 ± 0.001 ops/ns
36+ Int2ObjectSyncMapBenchmark.get_only SyncMap presize false 50 100000 thrpt 5 1.681 ± 0.001 ops/ns
37+ Int2ObjectSyncMapBenchmark.get_only SyncMap presize true 50 100000 thrpt 5 1.681 ± 0.002 ops/ns
38+ Int2ObjectSyncMapBenchmark.get_only SyncMap prepopulate false 50 100000 thrpt 5 1.640 ± 0.013 ops/ns
39+ Int2ObjectSyncMapBenchmark.get_only SyncMap prepopulate true 50 100000 thrpt 5 1.633 ± 0.010 ops/ns
4040
41- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap none false 50 100000 thrpt 5 0.029 ± 0.032 ops/ns
42- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap none true 50 100000 thrpt 5 0.034 ± 0.069 ops/ns
43- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap presize false 50 100000 thrpt 5 0.026 ± 0.007 ops/ns
44- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap presize true 50 100000 thrpt 5 0.036 ± 0.079 ops/ns
45- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap prepopulate false 50 100000 thrpt 5 0.023 ± 0.023 ops/ns
46- Int2ObjectSyncMapBenchmark.get_only SynchronizedMap prepopulate true 50 100000 thrpt 5 0.019 ± 0.016 ops/ns
41+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap none false 50 100000 thrpt 5 0.042 ± 0.080 ops/ns
42+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap none true 50 100000 thrpt 5 0.026 ± 0.002 ops/ns
43+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap presize false 50 100000 thrpt 5 0.026 ± 0.006 ops/ns
44+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap presize true 50 100000 thrpt 5 0.035 ± 0.055 ops/ns
45+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap prepopulate false 50 100000 thrpt 5 0.022 ± 0.004 ops/ns
46+ Int2ObjectSyncMapBenchmark.get_only SynchronizedMap prepopulate true 50 100000 thrpt 5 0.021 ± 0.010 ops/ns
4747
48- Int2ObjectSyncMapBenchmark.get_put SyncMap none false 50 100000 thrpt 5 0.621 ± 0.063 ops/ns
49- Int2ObjectSyncMapBenchmark.get_put SyncMap none true 50 100000 thrpt 5 0.631 ± 0.078 ops/ns
50- Int2ObjectSyncMapBenchmark.get_put SyncMap presize false 50 100000 thrpt 5 0.634 ± 0.081 ops/ns
51- Int2ObjectSyncMapBenchmark.get_put SyncMap presize true 50 100000 thrpt 5 0.654 ± 0.157 ops/ns
52- Int2ObjectSyncMapBenchmark.get_put SyncMap prepopulate false 50 100000 thrpt 5 0.638 ± 0.053 ops/ns
53- Int2ObjectSyncMapBenchmark.get_put SyncMap prepopulate true 50 100000 thrpt 5 0.615 ± 0.039 ops/ns
48+ Int2ObjectSyncMapBenchmark.get_put SyncMap none false 50 100000 thrpt 5 0.653 ± 0.329 ops/ns
49+ Int2ObjectSyncMapBenchmark.get_put SyncMap none true 50 100000 thrpt 5 0.646 ± 0.096 ops/ns
50+ Int2ObjectSyncMapBenchmark.get_put SyncMap presize false 50 100000 thrpt 5 0.650 ± 0.045 ops/ns
51+ Int2ObjectSyncMapBenchmark.get_put SyncMap presize true 50 100000 thrpt 5 0.674 ± 0.272 ops/ns
52+ Int2ObjectSyncMapBenchmark.get_put SyncMap prepopulate false 50 100000 thrpt 5 0.648 ± 0.059 ops/ns
53+ Int2ObjectSyncMapBenchmark.get_put SyncMap prepopulate true 50 100000 thrpt 5 0.627 ± 0.049 ops/ns
5454
55- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap none false 50 100000 thrpt 5 0.019 ± 0.009 ops/ns
56- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap none true 50 100000 thrpt 5 0.019 ± 0.010 ops/ns
57- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap presize false 50 100000 thrpt 5 0.018 ± 0.014 ops/ns
58- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap presize true 50 100000 thrpt 5 0.019 ± 0.011 ops/ns
59- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap prepopulate false 50 100000 thrpt 5 0.020 ± 0.011 ops/ns
60- Int2ObjectSyncMapBenchmark.get_put SynchronizedMap prepopulate true 50 100000 thrpt 5 0.015 ± 0.012 ops/ns
55+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap none false 50 100000 thrpt 5 0.017 ± 0.013 ops/ns
56+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap none true 50 100000 thrpt 5 0.018 ± 0.013 ops/ns
57+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap presize false 50 100000 thrpt 5 0.018 ± 0.011 ops/ns
58+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap presize true 50 100000 thrpt 5 0.018 ± 0.015 ops/ns
59+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap prepopulate false 50 100000 thrpt 5 0.021 ± 0.003 ops/ns
60+ Int2ObjectSyncMapBenchmark.get_put SynchronizedMap prepopulate true 50 100000 thrpt 5 0.018 ± 0.015 ops/ns
6161
62- Int2ObjectSyncMapBenchmark.put_only SyncMap none false 50 100000 thrpt 5 0.223 ± 0.082 ops/ns
63- Int2ObjectSyncMapBenchmark.put_only SyncMap none true 50 100000 thrpt 5 0.242 ± 0.035 ops/ns
64- Int2ObjectSyncMapBenchmark.put_only SyncMap presize false 50 100000 thrpt 5 0.239 ± 0.128 ops/ns
65- Int2ObjectSyncMapBenchmark.put_only SyncMap presize true 50 100000 thrpt 5 0.252 ± 0.115 ops/ns
66- Int2ObjectSyncMapBenchmark.put_only SyncMap prepopulate false 50 100000 thrpt 5 0.258 ± 0.046 ops/ns
67- Int2ObjectSyncMapBenchmark.put_only SyncMap prepopulate true 50 100000 thrpt 5 0.506 ± 0.055 ops/ns
62+ Int2ObjectSyncMapBenchmark.put_only SyncMap none false 50 100000 thrpt 5 0.291 ± 0.121 ops/ns
63+ Int2ObjectSyncMapBenchmark.put_only SyncMap none true 50 100000 thrpt 5 0.279 ± 0.056 ops/ns
64+ Int2ObjectSyncMapBenchmark.put_only SyncMap presize false 50 100000 thrpt 5 0.304 ± 0.022 ops/ns
65+ Int2ObjectSyncMapBenchmark.put_only SyncMap presize true 50 100000 thrpt 5 0.311 ± 0.080 ops/ns
66+ Int2ObjectSyncMapBenchmark.put_only SyncMap prepopulate false 50 100000 thrpt 5 0.284 ± 0.065 ops/ns
67+ Int2ObjectSyncMapBenchmark.put_only SyncMap prepopulate true 50 100000 thrpt 5 0.521 ± 0.028 ops/ns
6868
69- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap none false 50 100000 thrpt 5 0.022 ± 0.001 ops/ns
70- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap none true 50 100000 thrpt 5 0.021 ± 0.001 ops/ns
71- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap presize false 50 100000 thrpt 5 0.023 ± 0.011 ops/ns
72- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap presize true 50 100000 thrpt 5 0.026 ± 0.025 ops/ns
73- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap prepopulate false 50 100000 thrpt 5 0.022 ± 0.005 ops/ns
74- Int2ObjectSyncMapBenchmark.put_only SynchronizedMap prepopulate true 50 100000 thrpt 5 0.021 ± 0.001 ops/ns
69+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap none false 50 100000 thrpt 5 0.024 ± 0.023 ops/ns
70+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap none true 50 100000 thrpt 5 0.022 ± 0.007 ops/ns
71+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap presize false 50 100000 thrpt 5 0.022 ± 0.002 ops/ns
72+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap presize true 50 100000 thrpt 5 0.023 ± 0.005 ops/ns
73+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap prepopulate false 50 100000 thrpt 5 0.022 ± 0.001 ops/ns
74+ Int2ObjectSyncMapBenchmark.put_only SynchronizedMap prepopulate true 50 100000 thrpt 5 0.021 ± 0.001 ops/ns
7575```
0 commit comments