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
80 lines
1.7 KiB
Bash
Executable File
80 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Disable frequency scaling
|
|
for i in $(seq "$(nproc)") ; do sudo cat /sys/devices/system/cpu/cpu$((i-1))/cpufreq/scaling_max_freq | sudo tee /sys/devices/system/cpu/cpu$((i-1))/cpufreq/scaling_min_freq >/dev/null ; done
|
|
|
|
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_FLAGS=-DNVALGRIND > /dev/null
|
|
cmake --build build > /dev/null
|
|
|
|
cat << 'EOF'
|
|
A data structure for optimistic concurrency control on ranges of bitwise-lexicographically-ordered keys.
|
|
|
|
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.
|
|
|
|
```
|
|
$ clang++ --version
|
|
|
|
EOF
|
|
|
|
clang++ --version
|
|
|
|
cat << 'EOF'
|
|
```
|
|
|
|
# Microbenchmark
|
|
|
|
## Skip list
|
|
EOF
|
|
|
|
LD_LIBRARY_PATH=build/skip_list build/conflict_set_bench
|
|
|
|
cat << 'EOF'
|
|
|
|
## Radix tree (this implementation)
|
|
|
|
EOF
|
|
|
|
LD_LIBRARY_PATH=build/radix_tree build/conflict_set_bench
|
|
|
|
cat << 'EOF'
|
|
|
|
# "Real data" test
|
|
|
|
Point queries only. Gc ratio is the ratio of time spent doing garbage collection to time spent adding writes or doing garbage collection. Lower is better.
|
|
|
|
## skip list
|
|
|
|
```
|
|
EOF
|
|
|
|
LD_LIBRARY_PATH=build/skip_list build/real_data_bench ~/Downloads/quotes_2008-08.txt
|
|
|
|
cat << 'EOF'
|
|
```
|
|
|
|
## radix tree
|
|
|
|
```
|
|
EOF
|
|
|
|
LD_LIBRARY_PATH=build/radix_tree build/real_data_bench ~/Downloads/quotes_2008-08.txt
|
|
|
|
cat << 'EOF'
|
|
```
|
|
|
|
## hash table
|
|
|
|
(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)
|
|
|
|
```
|
|
EOF
|
|
|
|
LD_LIBRARY_PATH=build/hash_table build/real_data_bench ~/Downloads/quotes_2008-08.txt
|
|
|
|
cat << 'EOF'
|
|
```
|
|
|
|
EOF
|