semantic-metrics
semantic-metrics copied to clipboard
Add concurrent proxy in front of SemanticMetricDistribution
The concurrent version is slightly slower than the synchronized during low contention (43 vs 48 ops/us), but scales better as contention increases.
The concurrent version also uses more memory (currently a factor of 4 * num cores).
Benchmark Mode Cnt Score Error Units
DistributionBenchmark.conc1 thrpt 5 43.945 ± 1.092 ops/us
DistributionBenchmark.conc2 thrpt 5 78.461 ± 3.776 ops/us
DistributionBenchmark.conc4 thrpt 5 100.641 ± 7.070 ops/us
DistributionBenchmark.conc8 thrpt 5 96.606 ± 1.941 ops/us
DistributionBenchmark.sync1 thrpt 5 48.235 ± 2.858 ops/us
DistributionBenchmark.sync2 thrpt 5 17.794 ± 0.757 ops/us
DistributionBenchmark.sync4 thrpt 5 13.528 ± 1.251 ops/us
DistributionBenchmark.sync8 thrpt 5 26.025 ± 5.570 ops/us