Update README.md with 1.0 benchmarks
Some checks reported errors
weaselab/conflict-set/pipeline/head Something is wrong with the build of this commit

Closes #7
This commit is contained in:
2024-03-19 16:41:38 -07:00
parent aa6f237d50
commit 2e08b54785

View File

@@ -9,49 +9,49 @@ Hardware for all benchmarks is a mac m1 2020.
## Skip list ## Skip list
``` ```
New conflict set: 1.927 sec New conflict set: 1.964 sec
0.649 Mtransactions/sec 0.637 Mtransactions/sec
2.595 Mkeys/sec 2.546 Mkeys/sec
Detect only: 1.838 sec Detect only: 1.859 sec
0.680 Mtransactions/sec 0.672 Mtransactions/sec
2.721 Mkeys/sec 2.690 Mkeys/sec
Skiplist only: 1.256 sec Skiplist only: 1.275 sec
0.995 Mtransactions/sec 0.980 Mtransactions/sec
3.981 Mkeys/sec 3.921 Mkeys/sec
Performance counters: Performance counters:
Build: 0.0381 Build: 0.0496
Add: 0.0499 Add: 0.0539
Detect: 1.84 Detect: 1.86
D.Sort: 0.411 D.Sort: 0.412
D.Combine: 0.0141 D.Combine: 0.0139
D.CheckRead: 0.667 D.CheckRead: 0.682
D.CheckIntraBatch: 0.00673 D.CheckIntraBatch: 0.00673
D.MergeWrite: 0.589 D.MergeWrite: 0.593
D.RemoveBefore: 0.146 D.RemoveBefore: 0.148
``` ```
## Radix tree (this implementation) ## Radix tree (this implementation)
``` ```
New conflict set: 1.318 sec New conflict set: 1.289 sec
0.949 Mtransactions/sec 0.970 Mtransactions/sec
3.795 Mkeys/sec 3.879 Mkeys/sec
Detect only: 1.202 sec Detect only: 1.199 sec
1.040 Mtransactions/sec 1.043 Mtransactions/sec
4.160 Mkeys/sec 4.170 Mkeys/sec
Skiplist only: 0.542 sec Skiplist only: 0.542 sec
2.307 Mtransactions/sec 2.305 Mtransactions/sec
9.227 Mkeys/sec 9.220 Mkeys/sec
Performance counters: Performance counters:
Build: 0.0566 Build: 0.0395
Add: 0.058 Add: 0.0492
Detect: 1.2 Detect: 1.2
D.Sort: 0.411 D.Sort: 0.411
D.Combine: 0.0136 D.Combine: 0.0135
D.CheckRead: 0.22 D.CheckRead: 0.22
D.CheckIntraBatch: 0.00659 D.CheckIntraBatch: 0.00652
D.MergeWrite: 0.322 D.MergeWrite: 0.322
D.RemoveBefore: 0.226 D.RemoveBefore: 0.223
``` ```
# Our benchmark # Our benchmark
@@ -60,25 +60,25 @@ Performance counters:
| ns/op | op/s | err% | total | benchmark | ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------:|:----------
| 257.12 | 3,889,241.18 | 0.2% | 0.01 | `point reads` | 249.47 | 4,008,533.72 | 0.5% | 0.01 | `point reads`
| 276.38 | 3,618,145.21 | 0.3% | 0.01 | `prefix reads` | 236.78 | 4,223,252.12 | 0.4% | 0.01 | `prefix reads`
| 494.19 | 2,023,531.84 | 0.2% | 0.01 | `range reads` | 432.76 | 2,310,737.74 | 0.1% | 0.01 | `range reads`
| 451.22 | 2,216,229.54 | 1.3% | 0.01 | `point writes` | 449.42 | 2,225,105.96 | 0.5% | 0.01 | `point writes`
| 435.80 | 2,294,622.46 | 0.3% | 0.01 | `prefix writes` | 438.47 | 2,280,674.39 | 0.3% | 0.01 | `prefix writes`
| 246.67 | 4,053,999.27 | 4.2% | 0.02 | `range writes` | 242.92 | 4,116,581.59 | 3.7% | 0.02 | `range writes`
| 555.46 | 1,800,304.91 | 0.9% | 0.01 | `monotonic increasing point writes` | 553.31 | 1,807,319.60 | 0.7% | 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
|--------------------:|--------------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------:|:----------
| 19.40 | 51,554,711.61 | 0.2% | 0.01 | `point reads` | 19.35 | 51,669,510.11 | 0.2% | 0.01 | `point reads`
| 57.10 | 17,514,573.13 | 0.4% | 0.01 | `prefix reads` | 56.64 | 17,655,057.00 | 0.2% | 0.01 | `prefix reads`
| 215.65 | 4,637,096.77 | 0.4% | 0.01 | `range reads` | 217.04 | 4,607,450.05 | 0.2% | 0.01 | `range reads`
| 27.52 | 36,340,784.38 | 0.2% | 0.01 | `point writes` | 26.31 | 38,012,015.29 | 0.0% | 0.01 | `point writes`
| 42.16 | 23,720,515.40 | 0.7% | 0.01 | `prefix writes` | 41.45 | 24,124,003.19 | 0.2% | 0.01 | `prefix writes`
| 48.33 | 20,691,082.14 | 2.7% | 0.01 | `range writes` | 48.33 | 20,691,082.14 | 0.0% | 0.01 | `range writes`
| 87.93 | 11,372,164.55 | 2.5% | 0.01 | `monotonic increasing point writes` | 84.92 | 11,775,856.81 | 4.0% | 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.3839 seconds, 328.404 MB/s, Add: 5.32878 seconds, 131.745 MB/s, Gc ratio: 45.5903% Check: 11.267 seconds, 331.812 MB/s, Add: 5.33323 seconds, 131.635 MB/s, Gc ratio: 45.4671%
``` ```
## radix tree ## radix tree
``` ```
Check: 2.55069 seconds, 1465.69 MB/s, Add: 2.08443 seconds, 336.801 MB/s, Gc ratio: 41.748% Check: 2.48508 seconds, 1504.38 MB/s, Add: 2.07295 seconds, 338.666 MB/s, Gc ratio: 42.2825%
``` ```
## hash table ## hash table
@@ -101,5 +101,5 @@ Check: 2.55069 seconds, 1465.69 MB/s, Add: 2.08443 seconds, 336.801 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.84205 seconds, 2029.54 MB/s, Add: 0.60281 seconds, 1164.61 MB/s, Gc ratio: 48.8159% Check: 1.83931 seconds, 2032.56 MB/s, Add: 0.607861 seconds, 1154.93 MB/s, Gc ratio: 48.7142%
``` ```