Update README benchmarks
All checks were successful
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good

This commit is contained in:
2024-03-18 17:24:26 -07:00
parent 83c7f66d67
commit be8ac879c5

106
README.md
View File

@@ -9,49 +9,49 @@ Hardware for all benchmarks is a mac m1 2020.
## Skip list ## Skip list
``` ```
New conflict set: 1.962 sec New conflict set: 1.927 sec
0.637 Mtransactions/sec 0.649 Mtransactions/sec
2.549 Mkeys/sec 2.595 Mkeys/sec
Detect only: 1.853 sec Detect only: 1.838 sec
0.674 Mtransactions/sec 0.680 Mtransactions/sec
2.698 Mkeys/sec 2.721 Mkeys/sec
Skiplist only: 1.269 sec Skiplist only: 1.256 sec
0.985 Mtransactions/sec 0.995 Mtransactions/sec
3.940 Mkeys/sec 3.981 Mkeys/sec
Performance counters: Performance counters:
Build: 0.0526 Build: 0.0381
Add: 0.054 Add: 0.0499
Detect: 1.85 Detect: 1.84
D.Sort: 0.413 D.Sort: 0.411
D.Combine: 0.0148 D.Combine: 0.0141
D.CheckRead: 0.678 D.CheckRead: 0.667
D.CheckIntraBatch: 0.00679 D.CheckIntraBatch: 0.00673
D.MergeWrite: 0.591 D.MergeWrite: 0.589
D.RemoveBefore: 0.147 D.RemoveBefore: 0.146
``` ```
## Radix tree (this implementation) ## Radix tree (this implementation)
``` ```
New conflict set: 1.342 sec New conflict set: 1.318 sec
0.931 Mtransactions/sec 0.949 Mtransactions/sec
3.726 Mkeys/sec 3.795 Mkeys/sec
Detect only: 1.227 sec Detect only: 1.202 sec
1.018 Mtransactions/sec 1.040 Mtransactions/sec
4.074 Mkeys/sec 4.160 Mkeys/sec
Skiplist only: 0.576 sec Skiplist only: 0.542 sec
2.169 Mtransactions/sec 2.307 Mtransactions/sec
8.676 Mkeys/sec 9.227 Mkeys/sec
Performance counters: Performance counters:
Build: 0.0568 Build: 0.0566
Add: 0.0564 Add: 0.058
Detect: 1.23 Detect: 1.2
D.Sort: 0.414 D.Sort: 0.411
D.Combine: 0.0162 D.Combine: 0.0136
D.CheckRead: 0.228 D.CheckRead: 0.22
D.CheckIntraBatch: 0.00665 D.CheckIntraBatch: 0.00659
D.MergeWrite: 0.348 D.MergeWrite: 0.322
D.RemoveBefore: 0.211 D.RemoveBefore: 0.226
``` ```
# Our benchmark # Our benchmark
@@ -60,25 +60,25 @@ Performance counters:
| ns/op | op/s | err% | total | benchmark | ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------:|:----------
| 254.17 | 3,934,426.23 | 0.3% | 0.01 | `point reads` | 257.12 | 3,889,241.18 | 0.2% | 0.01 | `point reads`
| 275.58 | 3,628,769.92 | 2.1% | 0.01 | `prefix reads` | 276.38 | 3,618,145.21 | 0.3% | 0.01 | `prefix reads`
| 494.87 | 2,020,718.51 | 0.7% | 0.01 | `range reads` | 494.19 | 2,023,531.84 | 0.2% | 0.01 | `range reads`
| 495.91 | 2,016,512.61 | 1.7% | 0.01 | `point writes` | 451.22 | 2,216,229.54 | 1.3% | 0.01 | `point writes`
| 478.11 | 2,091,578.00 | 0.8% | 0.01 | `prefix writes` | 435.80 | 2,294,622.46 | 0.3% | 0.01 | `prefix writes`
| 307.08 | 3,256,480.40 | 1.9% | 0.04 | `range writes` | 246.67 | 4,053,999.27 | 4.2% | 0.02 | `range writes`
| 610.89 | 1,636,953.81 | 0.7% | 0.01 | `monotonic increasing point writes` | 555.46 | 1,800,304.91 | 0.9% | 0.01 | `monotonic increasing point writes`
## Radix tree (this implementation) ## Radix tree (this implementation)
| ns/op | op/s | err% | total | benchmark | ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------:|:----------
| 22.39 | 44,667,832.17 | 0.2% | 0.01 | `point reads` | 19.40 | 51,554,711.61 | 0.2% | 0.01 | `point reads`
| 53.89 | 18,554,840.41 | 3.4% | 0.01 | `prefix reads` | 57.10 | 17,514,573.13 | 0.4% | 0.01 | `prefix reads`
| 217.71 | 4,593,220.24 | 0.2% | 0.01 | `range reads` | 215.65 | 4,637,096.77 | 0.4% | 0.01 | `range reads`
| 29.72 | 33,642,099.66 | 1.1% | 0.01 | `point writes` | 27.52 | 36,340,784.38 | 0.2% | 0.01 | `point writes`
| 44.86 | 22,294,037.02 | 0.8% | 0.01 | `prefix writes` | 42.16 | 23,720,515.40 | 0.7% | 0.01 | `prefix writes`
| 55.00 | 18,181,818.18 | 0.8% | 0.03 | `range writes` | 48.33 | 20,691,082.14 | 2.7% | 0.01 | `range writes`
| 109.21 | 9,156,917.53 | 2.9% | 0.01 | `monotonic increasing point writes` | 87.93 | 11,372,164.55 | 2.5% | 0.01 | `monotonic increasing point writes`
# "Real data" test # "Real data" test
@@ -87,13 +87,13 @@ Point queries only, best of three runs. Gc ratio is the ratio of time spent doin
## skip list ## skip list
``` ```
Check: 11.7282 seconds, 318.763 MB/s, Add: 5.76499 seconds, 121.776 MB/s, Gc ratio: 48.0772% Check: 11.3839 seconds, 328.404 MB/s, Add: 5.32878 seconds, 131.745 MB/s, Gc ratio: 45.5903%
``` ```
## radix tree ## radix tree
``` ```
Check: 3.27475 seconds, 1141.62 MB/s, Add: 2.13594 seconds, 328.678 MB/s, Gc ratio: 50.1739% Check: 2.55069 seconds, 1465.69 MB/s, Add: 2.08443 seconds, 336.801 MB/s, Gc ratio: 41.748%
``` ```
## hash table ## hash table
@@ -101,5 +101,5 @@ Check: 3.27475 seconds, 1141.62 MB/s, Add: 2.13594 seconds, 328.678 MB/s, Gc rat
(The hash table implementation doesn't work on range queries, and its purpose is to provide an idea of how fast point queries can be) (The hash table implementation doesn't work on range queries, and its purpose is to provide an idea of how fast point queries can be)
``` ```
Check: 1.86291 seconds, 2006.81 MB/s, Add: 0.923653 seconds, 760.067 MB/s, Gc ratio: 54.2605% Check: 1.84205 seconds, 2029.54 MB/s, Add: 0.60281 seconds, 1164.61 MB/s, Gc ratio: 48.8159%
``` ```