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

108
README.md
View File

@@ -9,49 +9,49 @@ Hardware for all benchmarks is a mac m1 2020.
## Skip list
```
New conflict set: 1.962 sec
0.637 Mtransactions/sec
2.549 Mkeys/sec
Detect only: 1.853 sec
0.674 Mtransactions/sec
2.698 Mkeys/sec
Skiplist only: 1.269 sec
0.985 Mtransactions/sec
3.940 Mkeys/sec
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
Performance counters:
Build: 0.0526
Add: 0.054
Detect: 1.85
D.Sort: 0.413
D.Combine: 0.0148
D.CheckRead: 0.678
D.CheckIntraBatch: 0.00679
D.MergeWrite: 0.591
D.RemoveBefore: 0.147
Build: 0.0381
Add: 0.0499
Detect: 1.84
D.Sort: 0.411
D.Combine: 0.0141
D.CheckRead: 0.667
D.CheckIntraBatch: 0.00673
D.MergeWrite: 0.589
D.RemoveBefore: 0.146
```
## Radix tree (this implementation)
```
New conflict set: 1.342 sec
0.931 Mtransactions/sec
3.726 Mkeys/sec
Detect only: 1.227 sec
1.018 Mtransactions/sec
4.074 Mkeys/sec
Skiplist only: 0.576 sec
2.169 Mtransactions/sec
8.676 Mkeys/sec
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
Skiplist only: 0.542 sec
2.307 Mtransactions/sec
9.227 Mkeys/sec
Performance counters:
Build: 0.0568
Add: 0.0564
Detect: 1.23
D.Sort: 0.414
D.Combine: 0.0162
D.CheckRead: 0.228
D.CheckIntraBatch: 0.00665
D.MergeWrite: 0.348
D.RemoveBefore: 0.211
Build: 0.0566
Add: 0.058
Detect: 1.2
D.Sort: 0.411
D.Combine: 0.0136
D.CheckRead: 0.22
D.CheckIntraBatch: 0.00659
D.MergeWrite: 0.322
D.RemoveBefore: 0.226
```
# Our benchmark
@@ -60,25 +60,25 @@ Performance counters:
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 254.17 | 3,934,426.23 | 0.3% | 0.01 | `point reads`
| 275.58 | 3,628,769.92 | 2.1% | 0.01 | `prefix reads`
| 494.87 | 2,020,718.51 | 0.7% | 0.01 | `range reads`
| 495.91 | 2,016,512.61 | 1.7% | 0.01 | `point writes`
| 478.11 | 2,091,578.00 | 0.8% | 0.01 | `prefix writes`
| 307.08 | 3,256,480.40 | 1.9% | 0.04 | `range writes`
| 610.89 | 1,636,953.81 | 0.7% | 0.01 | `monotonic increasing point writes`
| 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`
## Radix tree (this implementation)
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 22.39 | 44,667,832.17 | 0.2% | 0.01 | `point reads`
| 53.89 | 18,554,840.41 | 3.4% | 0.01 | `prefix reads`
| 217.71 | 4,593,220.24 | 0.2% | 0.01 | `range reads`
| 29.72 | 33,642,099.66 | 1.1% | 0.01 | `point writes`
| 44.86 | 22,294,037.02 | 0.8% | 0.01 | `prefix writes`
| 55.00 | 18,181,818.18 | 0.8% | 0.03 | `range writes`
| 109.21 | 9,156,917.53 | 2.9% | 0.01 | `monotonic increasing point writes`
| 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`
# "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.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
```
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
@@ -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)
```
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%
```