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