Fix README
All checks were successful
Tests / 64 bit versions total: 8220, passed: 8220
Tests / Debug total: 8218, passed: 8218
Tests / SIMD fallback total: 8220, passed: 8220
Tests / Release [clang] total: 8220, passed: 8220
Clang |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / gcc total: 8220, passed: 8220
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap:
Tests / Release [clang,aarch64] total: 5446, passed: 5446
Tests / Coverage total: 5497, passed: 5497
Code Coverage #### Project Overview No changes detected, that affect the code coverage. * Line Coverage: 97.69% (3166/3241) * Branch Coverage: 42.26% (19263/45584) * Complexity Density: 0.00 * Lines of Code: 3241 #### Quality Gates Summary Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good

This commit is contained in:
2024-11-19 09:02:16 -08:00
parent 6f899e063b
commit ce23d3995c
2 changed files with 24 additions and 24 deletions

View File

@@ -4,10 +4,10 @@ Intended as an alternative to FoundationDB's skip list.
Hardware for all benchmarks is an AMD Ryzen 9 7900 with (2x32GB) 5600MT/s CL28-34-34-89 1.35V RAM. Hardware for all benchmarks is an AMD Ryzen 9 7900 with (2x32GB) 5600MT/s CL28-34-34-89 1.35V RAM.
```` ```
$ clang++ --version $ clang++ --version
Ubuntu clang version 20.0.0 (++20241118082208+63b926af5ff4-1~exp1~20241118082226.549) Ubuntu clang version 20.0.0 (++20241119082716+7e85cb8a8a9d-1~exp1~20241119082825.551)
Target: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu
Thread model: posix Thread model: posix
InstalledDir: /usr/lib/llvm-20/bin InstalledDir: /usr/lib/llvm-20/bin
@@ -19,30 +19,30 @@ InstalledDir: /usr/lib/llvm-20/bin
| ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark | ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark
|--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
| 163.82 | 6,104,214.81 | 0.0% | 3,014.03 | 823.99 | 3.658 | 504.59 | 0.0% | 1.96 | `point reads` | 169.16 | 5,911,582.44 | 0.0% | 3,014.03 | 855.12 | 3.525 | 504.59 | 0.0% | 2.02 | `point reads`
| 160.65 | 6,224,551.06 | 0.0% | 2,954.16 | 808.03 | 3.656 | 490.17 | 0.0% | 1.92 | `prefix reads` | 167.17 | 5,981,796.19 | 0.0% | 2,954.16 | 845.14 | 3.495 | 490.17 | 0.0% | 2.00 | `prefix reads`
| 243.07 | 4,114,000.62 | 0.0% | 3,592.41 | 1,224.77 | 2.933 | 629.31 | 0.0% | 2.90 | `range reads` | 250.44 | 3,992,954.35 | 0.1% | 3,592.41 | 1,265.18 | 2.839 | 629.31 | 0.0% | 2.99 | `range reads`
| 454.64 | 2,199,540.91 | 0.1% | 4,450.57 | 2,297.43 | 1.937 | 707.92 | 2.1% | 5.43 | `point writes` | 467.10 | 2,140,846.36 | 0.0% | 4,450.57 | 2,488.36 | 1.789 | 707.92 | 2.1% | 5.62 | `point writes`
| 451.41 | 2,215,265.93 | 0.0% | 4,410.22 | 2,281.37 | 1.933 | 694.74 | 2.1% | 5.39 | `prefix writes` | 465.18 | 2,149,723.11 | 0.2% | 4,410.22 | 2,474.92 | 1.782 | 694.74 | 2.1% | 5.55 | `prefix writes`
| 302.92 | 3,301,213.43 | 0.0% | 2,315.38 | 1,530.92 | 1.512 | 396.69 | 3.3% | 3.60 | `range writes` | 297.45 | 3,361,954.05 | 0.1% | 2,315.38 | 1,581.64 | 1.464 | 396.69 | 3.3% | 3.57 | `range writes`
| 470.36 | 2,126,014.73 | 1.0% | 6,999.33 | 2,457.12 | 2.849 | 1,251.74 | 1.3% | 0.06 | `monotonic increasing point writes` | 476.56 | 2,098,370.82 | 1.0% | 6,999.33 | 2,492.26 | 2.808 | 1,251.74 | 1.3% | 0.06 | `monotonic increasing point writes`
| 129,198.14 | 7,740.05 | 0.5% | 807,446.00 | 655,645.00 | 1.232 | 144,584.67 | 0.0% | 0.01 | `worst case for radix tree` | 129,455.00 | 7,724.69 | 1.0% | 807,446.67 | 698,559.40 | 1.156 | 144,584.60 | 0.8% | 0.01 | `worst case for radix tree`
| 46.34 | 21,578,562.58 | 0.7% | 902.00 | 232.26 | 3.884 | 132.00 | 0.0% | 0.01 | `create and destroy` | 44.67 | 22,384,996.63 | 0.5% | 902.00 | 235.18 | 3.835 | 132.00 | 0.0% | 0.01 | `create and destroy`
## Radix tree (this implementation) ## Radix tree (this implementation)
| ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark | ns/op | op/s | err% | ins/op | cyc/op | IPC | bra/op | miss% | total | benchmark
|--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:---------- |--------------------:|--------------------:|--------:|----------------:|----------------:|-------:|---------------:|--------:|----------:|:----------
| 13.00 | 76,916,274.88 | 0.1% | 247.13 | 65.16 | 3.793 | 32.64 | 0.8% | 0.16 | `point reads` | 14.11 | 70,857,435.19 | 0.1% | 247.13 | 71.03 | 3.479 | 32.64 | 0.8% | 0.17 | `point reads`
| 15.03 | 66,535,609.26 | 0.1% | 299.99 | 75.25 | 3.987 | 42.50 | 0.5% | 0.18 | `prefix reads` | 15.63 | 63,997,306.79 | 0.0% | 299.99 | 78.59 | 3.817 | 42.50 | 0.4% | 0.19 | `prefix reads`
| 35.65 | 28,054,245.19 | 0.0% | 782.70 | 178.41 | 4.387 | 106.65 | 0.2% | 0.43 | `range reads` | 36.24 | 27,590,266.59 | 0.1% | 782.70 | 182.21 | 4.296 | 106.65 | 0.2% | 0.43 | `range reads`
| 20.79 | 48,099,317.88 | 0.4% | 376.04 | 104.10 | 3.612 | 49.97 | 0.7% | 0.25 | `point writes` | 22.72 | 44,004,627.40 | 0.1% | 376.04 | 114.33 | 3.289 | 49.97 | 0.8% | 0.27 | `point writes`
| 45.17 | 22,137,997.58 | 0.0% | 666.07 | 227.27 | 2.931 | 101.33 | 0.3% | 0.54 | `prefix writes` | 40.83 | 24,494,110.04 | 0.0% | 666.07 | 205.35 | 3.244 | 101.33 | 0.3% | 0.49 | `prefix writes`
| 40.35 | 24,784,682.32 | 0.0% | 732.33 | 202.46 | 3.617 | 111.64 | 0.1% | 0.49 | `range writes` | 43.45 | 23,016,324.00 | 0.0% | 732.33 | 218.41 | 3.353 | 111.64 | 0.1% | 0.53 | `range writes`
| 79.04 | 12,651,349.21 | 2.4% | 1,462.61 | 399.37 | 3.662 | 279.17 | 0.1% | 0.01 | `monotonic increasing point writes` | 81.46 | 12,276,650.63 | 3.6% | 1,458.85 | 411.52 | 3.545 | 280.42 | 0.1% | 0.01 | `monotonic increasing point writes`
| 313,894.00 | 3,185.79 | 0.3% | 4,043,060.00 | 1,585,794.00 | 2.550 | 714,828.00 | 0.1% | 0.01 | `worst case for radix tree` | 314,217.00 | 3,182.51 | 1.2% | 4,043,063.50 | 1,593,715.00 | 2.537 | 714,828.00 | 0.1% | 0.01 | `worst case for radix tree`
| 109.01 | 9,173,544.09 | 0.5% | 2,046.00 | 547.40 | 3.738 | 329.00 | 0.0% | 0.01 | `create and destroy` | 106.79 | 9,364,602.60 | 0.5% | 2,046.00 | 539.75 | 3.791 | 329.00 | 0.0% | 0.01 | `create and destroy`
# "Real data" test # "Real data" test
@@ -51,13 +51,13 @@ Point queries only. Gc ratio is the ratio of time spent doing garbage collection
## skip list ## skip list
``` ```
Check: 4.65306 seconds, 362.382 MB/s, Add: 3.92107 seconds, 146.729 MB/s, Gc ratio: 33.6261%, Peak idle memory: 5.61007e+06 Check: 4.62434 seconds, 364.633 MB/s, Add: 3.90399 seconds, 147.371 MB/s, Gc ratio: 33.6898%, Peak idle memory: 5.61007e+06
``` ```
## radix tree ## radix tree
``` ```
Check: 1.02927 seconds, 1638.24 MB/s, Add: 1.33663 seconds, 430.436 MB/s, Gc ratio: 35.3609%, Peak idle memory: 2.32922e+06 Check: 0.956689 seconds, 1762.52 MB/s, Add: 1.35744 seconds, 423.84 MB/s, Gc ratio: 35.0946%, Peak idle memory: 2.32922e+06
``` ```
## hash table ## hash table
@@ -65,6 +65,6 @@ Check: 1.02927 seconds, 1638.24 MB/s, Add: 1.33663 seconds, 430.436 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: 0.856661 seconds, 1968.32 MB/s, Add: 0.709563 seconds, 810.831 MB/s, Gc ratio: 35.0388%, Peak idle memory: 0 Check: 0.799863 seconds, 2108.09 MB/s, Add: 0.667736 seconds, 861.621 MB/s, Gc ratio: 35.0666%, Peak idle memory: 0
``` ```

View File

@@ -13,7 +13,7 @@ Intended as an alternative to FoundationDB's skip list.
Hardware for all benchmarks is an AMD Ryzen 9 7900 with (2x32GB) 5600MT/s CL28-34-34-89 1.35V RAM. Hardware for all benchmarks is an AMD Ryzen 9 7900 with (2x32GB) 5600MT/s CL28-34-34-89 1.35V RAM.
```` ```
$ clang++ --version $ clang++ --version
EOF EOF