Skip to content

Commit

Permalink
Builds CLIs on release/* branches (#545)
Browse files Browse the repository at this point in the history
Co-authored-by: John Detter <no-reply@boppygames.gg>
  • Loading branch information
jdetter and John Detter authored Nov 9, 2023
1 parent 19be900 commit e7ce07b
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
- '**'
branches:
- master
- release/*

jobs:
linux-amd64-cli:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/macos-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
- '**'
branches:
- master
- release/*

jobs:
macos-cli:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
- '**'
branches:
- master
- release/*

jobs:
windows-cli:
Expand Down

1 comment on commit e7ce07b

@github-actions
Copy link

@github-actions github-actions bot commented on e7ce07b Nov 9, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark results

Benchmark Report

Legend:

  • load: number of rows pre-loaded into the database
  • count: number of rows touched by the transaction
  • index types:
    • unique: a single index on the id column
    • non_unique: no indexes
    • multi_index: non-unique index on every column
  • schemas:
    • person(id: u32, name: String, age: u64)
    • location(id: u32, x: u64, y: u64)

All throughputs are single-threaded.

Empty transaction

db on disk new latency old latency new throughput old throughput
sqlite 💿 432.6±1.85ns 435.2±1.99ns - -
sqlite 🧠 431.2±4.58ns 428.9±2.14ns - -
stdb_module 💿 17.7±0.58µs 17.8±1.19µs - -
stdb_module 🧠 17.7±0.94µs 18.3±0.82µs - -
stdb_raw 💿 721.1±0.86ns 715.5±1.38ns - -
stdb_raw 🧠 717.6±1.19ns 714.6±1.15ns - -

Single-row insertions

db on disk schema index type load new latency old latency new throughput old throughput
sqlite 💿 location multi_index 0 14.9±0.61µs 14.6±0.14µs 65.5 Ktx/sec 67.1 Ktx/sec
sqlite 💿 location multi_index 1000 15.9±0.10µs 15.7±0.13µs 61.2 Ktx/sec 62.0 Ktx/sec
sqlite 💿 location non_unique 0 7.4±1.85µs 7.2±0.16µs 131.7 Ktx/sec 135.1 Ktx/sec
sqlite 💿 location non_unique 1000 7.2±0.04µs 7.1±0.04µs 136.3 Ktx/sec 137.5 Ktx/sec
sqlite 💿 location unique 0 7.2±0.04µs 7.2±0.62µs 136.5 Ktx/sec 135.4 Ktx/sec
sqlite 💿 location unique 1000 7.2±0.04µs 7.1±0.05µs 136.5 Ktx/sec 136.9 Ktx/sec
sqlite 💿 person multi_index 0 14.7±0.88µs 14.7±0.68µs 66.3 Ktx/sec 66.4 Ktx/sec
sqlite 💿 person multi_index 1000 16.2±0.11µs 16.1±0.12µs 60.5 Ktx/sec 60.5 Ktx/sec
sqlite 💿 person non_unique 0 7.3±0.34µs 7.3±0.43µs 133.1 Ktx/sec 133.8 Ktx/sec
sqlite 💿 person non_unique 1000 7.4±0.04µs 7.3±0.06µs 132.0 Ktx/sec 134.1 Ktx/sec
sqlite 💿 person unique 0 7.3±0.04µs 7.2±0.03µs 133.9 Ktx/sec 134.7 Ktx/sec
sqlite 💿 person unique 1000 7.4±0.04µs 7.3±0.05µs 132.6 Ktx/sec 133.7 Ktx/sec
sqlite 🧠 location multi_index 0 4.0±0.01µs 4.1±0.01µs 241.9 Ktx/sec 238.2 Ktx/sec
sqlite 🧠 location multi_index 1000 5.1±0.04µs 5.2±0.03µs 190.9 Ktx/sec 187.7 Ktx/sec
sqlite 🧠 location non_unique 0 1864.6±7.42ns 1903.7±7.51ns 523.7 Ktx/sec 513.0 Ktx/sec
sqlite 🧠 location non_unique 1000 1905.9±12.32ns 1962.0±33.72ns 512.4 Ktx/sec 497.7 Ktx/sec
sqlite 🧠 location unique 0 1851.2±7.06ns 1886.7±7.33ns 527.5 Ktx/sec 517.6 Ktx/sec
sqlite 🧠 location unique 1000 1973.2±13.56ns 1988.4±12.59ns 494.9 Ktx/sec 491.1 Ktx/sec
sqlite 🧠 person multi_index 0 3.7±0.01µs 3.7±0.01µs 266.8 Ktx/sec 262.4 Ktx/sec
sqlite 🧠 person multi_index 1000 5.4±0.03µs 5.4±0.02µs 179.6 Ktx/sec 179.3 Ktx/sec
sqlite 🧠 person non_unique 0 1932.0±6.10ns 1972.2±5.90ns 505.5 Ktx/sec 495.2 Ktx/sec
sqlite 🧠 person non_unique 1000 2.0±0.01µs 2.1±0.01µs 484.4 Ktx/sec 468.1 Ktx/sec
sqlite 🧠 person unique 0 1923.6±9.39ns 1946.2±4.31ns 507.7 Ktx/sec 501.8 Ktx/sec
sqlite 🧠 person unique 1000 2.0±0.02µs 2.1±0.01µs 477.3 Ktx/sec 467.2 Ktx/sec
stdb_module 💿 location multi_index 0 57.9±5.96µs 56.3±5.43µs 16.9 Ktx/sec 17.3 Ktx/sec
stdb_module 💿 location multi_index 1000 260.6±34.37µs 171.7±14.58µs 3.7 Ktx/sec 5.7 Ktx/sec
stdb_module 💿 location non_unique 0 49.1±5.51µs 44.5±6.04µs 19.9 Ktx/sec 22.0 Ktx/sec
stdb_module 💿 location non_unique 1000 174.4±59.35µs 146.1±4.29µs 5.6 Ktx/sec 6.7 Ktx/sec
stdb_module 💿 location unique 0 52.1±5.12µs 52.7±4.53µs 18.8 Ktx/sec 18.5 Ktx/sec
stdb_module 💿 location unique 1000 123.2±18.50µs 177.3±84.20µs 7.9 Ktx/sec 5.5 Ktx/sec
stdb_module 💿 person multi_index 0 71.1±5.48µs 64.8±4.08µs 13.7 Ktx/sec 15.1 Ktx/sec
stdb_module 💿 person multi_index 1000 270.4±50.95µs 120.7±67.60µs 3.6 Ktx/sec 8.1 Ktx/sec
stdb_module 💿 person non_unique 0 50.1±4.48µs 48.5±4.33µs 19.5 Ktx/sec 20.1 Ktx/sec
stdb_module 💿 person non_unique 1000 326.8±17.35µs 190.3±11.01µs 3.0 Ktx/sec 5.1 Ktx/sec
stdb_module 💿 person unique 0 55.3±6.86µs 58.8±7.63µs 17.7 Ktx/sec 16.6 Ktx/sec
stdb_module 💿 person unique 1000 168.4±90.66µs 134.3±13.55µs 5.8 Ktx/sec 7.3 Ktx/sec
stdb_module 🧠 location multi_index 0 38.5±3.60µs 37.2±2.93µs 25.4 Ktx/sec 26.3 Ktx/sec
stdb_module 🧠 location multi_index 1000 178.1±4.99µs 87.1±1.78µs 5.5 Ktx/sec 11.2 Ktx/sec
stdb_module 🧠 location non_unique 0 31.0±2.30µs 31.1±2.38µs 31.5 Ktx/sec 31.4 Ktx/sec
stdb_module 🧠 location non_unique 1000 123.5±14.95µs 114.1±9.15µs 7.9 Ktx/sec 8.6 Ktx/sec
stdb_module 🧠 location unique 0 34.8±3.65µs 32.9±2.72µs 28.1 Ktx/sec 29.7 Ktx/sec
stdb_module 🧠 location unique 1000 89.9±10.76µs 142.5±33.72µs 10.9 Ktx/sec 6.9 Ktx/sec
stdb_module 🧠 person multi_index 0 42.9±3.78µs 43.8±4.32µs 22.8 Ktx/sec 22.3 Ktx/sec
stdb_module 🧠 person multi_index 1000 135.7±13.05µs 112.9±88.99µs 7.2 Ktx/sec 8.7 Ktx/sec
stdb_module 🧠 person non_unique 0 33.2±3.22µs 33.2±3.58µs 29.4 Ktx/sec 29.4 Ktx/sec
stdb_module 🧠 person non_unique 1000 298.2±3.96µs 265.9±5.87µs 3.3 Ktx/sec 3.7 Ktx/sec
stdb_module 🧠 person unique 0 40.6±4.69µs 42.3±5.67µs 24.1 Ktx/sec 23.1 Ktx/sec
stdb_module 🧠 person unique 1000 223.6±5.52µs 146.1±16.50µs 4.4 Ktx/sec 6.7 Ktx/sec
stdb_raw 💿 location multi_index 0 7.3±0.31µs 7.2±0.04µs 133.6 Ktx/sec 135.4 Ktx/sec
stdb_raw 💿 location multi_index 1000 33.8±237.90µs 28.7±188.12µs 28.9 Ktx/sec 34.1 Ktx/sec
stdb_raw 💿 location non_unique 0 4.8±0.01µs 4.7±0.01µs 202.7 Ktx/sec 205.9 Ktx/sec
stdb_raw 💿 location non_unique 1000 6.3±0.15µs 6.2±0.17µs 155.8 Ktx/sec 157.2 Ktx/sec
stdb_raw 💿 location unique 0 6.2±0.02µs 6.1±0.02µs 156.5 Ktx/sec 161.2 Ktx/sec
stdb_raw 💿 location unique 1000 26.5±178.92µs 22.6±141.30µs 36.9 Ktx/sec 43.3 Ktx/sec
stdb_raw 💿 person multi_index 0 11.0±0.03µs 10.8±0.02µs 89.0 Ktx/sec 90.7 Ktx/sec
stdb_raw 💿 person multi_index 1000 14.2±0.19µs 49.4±353.68µs 68.7 Ktx/sec 19.7 Ktx/sec
stdb_raw 💿 person non_unique 0 5.4±0.01µs 5.3±0.03µs 181.0 Ktx/sec 183.0 Ktx/sec
stdb_raw 💿 person non_unique 1000 20.4±133.52µs 7.0±0.27µs 47.9 Ktx/sec 140.3 Ktx/sec
stdb_raw 💿 person unique 0 7.9±0.03µs 7.7±0.03µs 124.4 Ktx/sec 126.5 Ktx/sec
stdb_raw 💿 person unique 1000 10.4±0.12µs 10.2±0.18µs 94.3 Ktx/sec 95.9 Ktx/sec
stdb_raw 🧠 location multi_index 0 4.2±0.01µs 4.2±0.01µs 231.3 Ktx/sec 230.4 Ktx/sec
stdb_raw 🧠 location multi_index 1000 5.9±0.06µs 5.8±0.06µs 165.1 Ktx/sec 168.6 Ktx/sec
stdb_raw 🧠 location non_unique 0 1929.9±6.86ns 1914.8±6.86ns 506.0 Ktx/sec 510.0 Ktx/sec
stdb_raw 🧠 location non_unique 1000 2.4±0.02µs 2.4±0.01µs 403.3 Ktx/sec 406.1 Ktx/sec
stdb_raw 🧠 location unique 0 3.2±0.01µs 3.2±0.01µs 304.2 Ktx/sec 308.1 Ktx/sec
stdb_raw 🧠 location unique 1000 4.4±0.03µs 4.3±0.03µs 221.4 Ktx/sec 227.7 Ktx/sec
stdb_raw 🧠 person multi_index 0 7.9±0.01µs 7.8±0.03µs 123.5 Ktx/sec 125.2 Ktx/sec
stdb_raw 🧠 person multi_index 1000 10.0±0.06µs 9.9±0.06µs 97.9 Ktx/sec 98.5 Ktx/sec
stdb_raw 🧠 person non_unique 0 2.5±0.01µs 2.5±0.00µs 389.0 Ktx/sec 390.9 Ktx/sec
stdb_raw 🧠 person non_unique 1000 3.2±0.02µs 3.2±0.05µs 307.9 Ktx/sec 305.0 Ktx/sec
stdb_raw 🧠 person unique 0 4.8±0.02µs 4.7±0.02µs 203.9 Ktx/sec 205.9 Ktx/sec
stdb_raw 🧠 person unique 1000 6.2±0.03µs 6.2±0.04µs 158.0 Ktx/sec 157.6 Ktx/sec

Multi-row insertions

db on disk schema index type load count new latency old latency new throughput old throughput
sqlite 💿 location multi_index 0 100 130.9±0.41µs 133.3±2.29µs 7.5 Ktx/sec 7.3 Ktx/sec
sqlite 💿 location multi_index 1000 100 202.7±1.17µs 205.2±1.83µs 4.8 Ktx/sec 4.8 Ktx/sec
sqlite 💿 location non_unique 0 100 50.5±1.58µs 50.4±0.98µs 19.3 Ktx/sec 19.4 Ktx/sec
sqlite 💿 location non_unique 1000 100 52.3±0.17µs 51.7±0.38µs 18.7 Ktx/sec 18.9 Ktx/sec
sqlite 💿 location unique 0 100 52.3±1.81µs 51.5±0.87µs 18.7 Ktx/sec 19.0 Ktx/sec
sqlite 💿 location unique 1000 100 57.1±0.34µs 56.4±0.21µs 17.1 Ktx/sec 17.3 Ktx/sec
sqlite 💿 person multi_index 0 100 118.4±1.21µs 120.1±2.49µs 8.2 Ktx/sec 8.1 Ktx/sec
sqlite 💿 person multi_index 1000 100 235.2±2.12µs 232.2±9.54µs 4.2 Ktx/sec 4.2 Ktx/sec
sqlite 💿 person non_unique 0 100 49.8±6.56µs 49.7±1.65µs 19.6 Ktx/sec 19.6 Ktx/sec
sqlite 💿 person non_unique 1000 100 60.5±0.28µs 60.5±0.33µs 16.1 Ktx/sec 16.1 Ktx/sec
sqlite 💿 person unique 0 100 50.8±0.37µs 50.6±1.96µs 19.2 Ktx/sec 19.3 Ktx/sec
sqlite 💿 person unique 1000 100 56.1±0.83µs 55.4±0.32µs 17.4 Ktx/sec 17.6 Ktx/sec
sqlite 🧠 location multi_index 0 100 120.9±0.36µs 121.7±0.32µs 8.1 Ktx/sec 8.0 Ktx/sec
sqlite 🧠 location multi_index 1000 100 169.7±0.33µs 170.5±0.40µs 5.8 Ktx/sec 5.7 Ktx/sec
sqlite 🧠 location non_unique 0 100 42.9±0.51µs 44.0±0.23µs 22.7 Ktx/sec 22.2 Ktx/sec
sqlite 🧠 location non_unique 1000 100 43.5±0.25µs 45.3±0.39µs 22.4 Ktx/sec 21.6 Ktx/sec
sqlite 🧠 location unique 0 100 45.0±0.47µs 45.8±0.42µs 21.7 Ktx/sec 21.3 Ktx/sec
sqlite 🧠 location unique 1000 100 48.2±0.48µs 49.5±0.30µs 20.3 Ktx/sec 19.7 Ktx/sec
sqlite 🧠 person multi_index 0 100 106.9±0.26µs 108.4±0.33µs 9.1 Ktx/sec 9.0 Ktx/sec
sqlite 🧠 person multi_index 1000 100 187.8±0.40µs 188.5±0.44µs 5.2 Ktx/sec 5.2 Ktx/sec
sqlite 🧠 person non_unique 0 100 42.9±0.37µs 43.0±0.34µs 22.8 Ktx/sec 22.7 Ktx/sec
sqlite 🧠 person non_unique 1000 100 45.6±0.33µs 46.9±0.32µs 21.4 Ktx/sec 20.8 Ktx/sec
sqlite 🧠 person unique 0 100 44.7±0.47µs 44.8±0.32µs 21.8 Ktx/sec 21.8 Ktx/sec
sqlite 🧠 person unique 1000 100 47.3±0.25µs 48.2±0.24µs 20.6 Ktx/sec 20.3 Ktx/sec
stdb_module 💿 location multi_index 0 100 673.0±1.80µs 672.9±66.80µs 1485 tx/sec 1486 tx/sec
stdb_module 💿 location multi_index 1000 100 1049.6±194.08µs 860.0±17.45µs 952 tx/sec 1162 tx/sec
stdb_module 💿 location non_unique 0 100 627.2±9.05µs 561.6±72.36µs 1594 tx/sec 1780 tx/sec
stdb_module 💿 location non_unique 1000 100 817.3±52.33µs 771.6±46.11µs 1223 tx/sec 1296 tx/sec
stdb_module 💿 location unique 0 100 605.6±88.63µs 704.1±98.85µs 1651 tx/sec 1420 tx/sec
stdb_module 💿 location unique 1000 100 839.6±20.08µs 822.1±104.96µs 1191 tx/sec 1216 tx/sec
stdb_module 💿 person multi_index 0 100 1022.0±4.99µs 1145.0±76.62µs 978 tx/sec 873 tx/sec
stdb_module 💿 person multi_index 1000 100 1252.6±37.99µs 1212.2±31.83µs 798 tx/sec 824 tx/sec
stdb_module 💿 person non_unique 0 100 744.2±43.47µs 774.3±1.80µs 1343 tx/sec 1291 tx/sec
stdb_module 💿 person non_unique 1000 100 935.7±182.20µs 659.3±17.79µs 1068 tx/sec 1516 tx/sec
stdb_module 💿 person unique 0 100 769.5±7.66µs 769.0±6.05µs 1299 tx/sec 1300 tx/sec
stdb_module 💿 person unique 1000 100 829.0±29.79µs 818.6±47.09µs 1206 tx/sec 1221 tx/sec
stdb_module 🧠 location multi_index 0 100 772.5±2.67µs 715.2±103.44µs 1294 tx/sec 1398 tx/sec
stdb_module 🧠 location multi_index 1000 100 775.2±2.54µs 745.5±33.56µs 1289 tx/sec 1341 tx/sec
stdb_module 🧠 location non_unique 0 100 381.2±0.78µs 300.6±31.57µs 2.6 Ktx/sec 3.2 Ktx/sec
stdb_module 🧠 location non_unique 1000 100 480.8±4.23µs 255.9±42.56µs 2.0 Ktx/sec 3.8 Ktx/sec
stdb_module 🧠 location unique 0 100 559.2±62.38µs 415.7±5.78µs 1788 tx/sec 2.3 Ktx/sec
stdb_module 🧠 location unique 1000 100 718.7±12.26µs 470.9±45.89µs 1391 tx/sec 2.1 Ktx/sec
stdb_module 🧠 person multi_index 0 100 952.7±4.79µs 876.1±2.60µs 1049 tx/sec 1141 tx/sec
stdb_module 🧠 person multi_index 1000 100 1067.9±6.53µs 1141.8±26.32µs 936 tx/sec 875 tx/sec
stdb_module 🧠 person non_unique 0 100 338.8±46.80µs 397.0±1.32µs 2.9 Ktx/sec 2.5 Ktx/sec
stdb_module 🧠 person non_unique 1000 100 408.7±36.59µs 579.6±11.68µs 2.4 Ktx/sec 1725 tx/sec
stdb_module 🧠 person unique 0 100 602.9±28.31µs 621.0±6.82µs 1658 tx/sec 1610 tx/sec
stdb_module 🧠 person unique 1000 100 668.6±11.63µs 812.5±2.73µs 1495 tx/sec 1230 tx/sec
stdb_raw 💿 location multi_index 0 100 399.8±0.69µs 398.4±0.93µs 2.4 Ktx/sec 2.5 Ktx/sec
stdb_raw 💿 location multi_index 1000 100 423.6±1.32µs 421.7±1.46µs 2.3 Ktx/sec 2.3 Ktx/sec
stdb_raw 💿 location non_unique 0 100 172.1±0.30µs 170.6±0.42µs 5.7 Ktx/sec 5.7 Ktx/sec
stdb_raw 💿 location non_unique 1000 100 174.4±0.97µs 173.0±0.99µs 5.6 Ktx/sec 5.6 Ktx/sec
stdb_raw 💿 location unique 0 100 297.2±0.25µs 294.3±0.45µs 3.3 Ktx/sec 3.3 Ktx/sec
stdb_raw 💿 location unique 1000 100 334.6±191.10µs 327.6±151.66µs 2.9 Ktx/sec 3.0 Ktx/sec
stdb_raw 💿 person multi_index 0 100 718.3±1.55µs 719.2±3.25µs 1392 tx/sec 1390 tx/sec
stdb_raw 💿 person multi_index 1000 100 746.6±0.90µs 787.7±410.88µs 1339 tx/sec 1269 tx/sec
stdb_raw 💿 person non_unique 0 100 227.4±0.46µs 227.1±0.26µs 4.3 Ktx/sec 4.3 Ktx/sec
stdb_raw 💿 person non_unique 1000 100 229.6±0.45µs 229.7±0.53µs 4.3 Ktx/sec 4.3 Ktx/sec
stdb_raw 💿 person unique 0 100 439.3±19.05µs 436.5±0.34µs 2.2 Ktx/sec 2.2 Ktx/sec
stdb_raw 💿 person unique 1000 100 454.6±1.18µs 480.8±262.09µs 2.1 Ktx/sec 2.0 Ktx/sec
stdb_raw 🧠 location multi_index 0 100 297.7±0.37µs 301.4±0.86µs 3.3 Ktx/sec 3.2 Ktx/sec
stdb_raw 🧠 location multi_index 1000 100 323.1±0.59µs 322.5±0.64µs 3.0 Ktx/sec 3.0 Ktx/sec
stdb_raw 🧠 location non_unique 0 100 76.2±0.24µs 74.7±0.12µs 12.8 Ktx/sec 13.1 Ktx/sec
stdb_raw 🧠 location non_unique 1000 100 77.5±0.16µs 76.4±0.17µs 12.6 Ktx/sec 12.8 Ktx/sec
stdb_raw 🧠 location unique 0 100 199.9±0.37µs 198.8±0.34µs 4.9 Ktx/sec 4.9 Ktx/sec
stdb_raw 🧠 location unique 1000 100 219.5±0.32µs 215.7±0.40µs 4.4 Ktx/sec 4.5 Ktx/sec
stdb_raw 🧠 person multi_index 0 100 618.0±1.12µs 613.9±1.48µs 1618 tx/sec 1628 tx/sec
stdb_raw 🧠 person multi_index 1000 100 645.5±0.61µs 643.0±0.62µs 1549 tx/sec 1555 tx/sec
stdb_raw 🧠 person non_unique 0 100 127.0±0.25µs 127.3±0.15µs 7.7 Ktx/sec 7.7 Ktx/sec
stdb_raw 🧠 person non_unique 1000 100 129.0±0.43µs 129.7±0.25µs 7.6 Ktx/sec 7.5 Ktx/sec
stdb_raw 🧠 person unique 0 100 336.5±0.82µs 335.0±0.73µs 2.9 Ktx/sec 2.9 Ktx/sec
stdb_raw 🧠 person unique 1000 100 353.5±0.58µs 352.8±0.54µs 2.8 Ktx/sec 2.8 Ktx/sec

Full table iterate

db on disk schema index type new latency old latency new throughput old throughput
sqlite 💿 location unique 8.9±0.11µs 9.0±0.10µs 110.3 Ktx/sec 108.6 Ktx/sec
sqlite 💿 person unique 9.5±0.11µs 9.3±0.15µs 102.8 Ktx/sec 105.1 Ktx/sec
sqlite 🧠 location unique 7.8±0.14µs 7.8±0.14µs 124.6 Ktx/sec 125.3 Ktx/sec
sqlite 🧠 person unique 8.3±0.13µs 7.9±0.08µs 117.8 Ktx/sec 123.0 Ktx/sec
stdb_module 💿 location unique 48.8±3.80µs 47.9±4.20µs 20.0 Ktx/sec 20.4 Ktx/sec
stdb_module 💿 person unique 62.8±9.70µs 62.8±9.39µs 15.5 Ktx/sec 15.5 Ktx/sec
stdb_module 🧠 location unique 49.2±2.71µs 45.2±6.97µs 19.9 Ktx/sec 21.6 Ktx/sec
stdb_module 🧠 person unique 61.1±9.86µs 63.9±7.34µs 16.0 Ktx/sec 15.3 Ktx/sec
stdb_raw 💿 location unique 8.9±0.02µs 9.0±0.01µs 109.5 Ktx/sec 108.0 Ktx/sec
stdb_raw 💿 person unique 8.9±0.11µs 9.0±0.00µs 109.4 Ktx/sec 108.1 Ktx/sec
stdb_raw 🧠 location unique 8.9±0.01µs 9.0±0.10µs 109.6 Ktx/sec 107.9 Ktx/sec
stdb_raw 🧠 person unique 9.0±0.26µs 9.0±0.01µs 109.0 Ktx/sec 108.2 Ktx/sec

Find unique key

db on disk key type load new latency old latency new throughput old throughput
sqlite 💿 u32 1000 2.4±0.01µs 2.4±0.01µs 407.5 Ktx/sec 410.1 Ktx/sec
sqlite 🧠 u32 1000 1161.5±8.02ns 1145.4±7.57ns 840.8 Ktx/sec 852.6 Ktx/sec
stdb_module 💿 u32 1000 24.7±2.06µs 25.2±1.89µs 39.5 Ktx/sec 38.8 Ktx/sec
stdb_module 🧠 u32 1000 24.4±1.63µs 24.8±1.75µs 40.1 Ktx/sec 39.4 Ktx/sec
stdb_raw 💿 u32 1000 1921.5±3.59ns 1922.7±21.73ns 508.2 Ktx/sec 507.9 Ktx/sec
stdb_raw 🧠 u32 1000 1910.0±3.87ns 1914.1±2.10ns 511.3 Ktx/sec 510.2 Ktx/sec

Filter

db on disk key type index strategy load count new latency old latency new throughput old throughput
sqlite 💿 string indexed 1000 10 5.6±0.02µs 5.7±0.02µs 172.9 Ktx/sec 172.0 Ktx/sec
sqlite 💿 string non_indexed 1000 10 50.9±0.41µs 50.1±0.19µs 19.2 Ktx/sec 19.5 Ktx/sec
sqlite 💿 u64 indexed 1000 10 5.5±0.02µs 5.5±0.01µs 177.0 Ktx/sec 177.7 Ktx/sec
sqlite 💿 u64 non_indexed 1000 10 33.0±0.24µs 33.1±0.17µs 29.6 Ktx/sec 29.5 Ktx/sec
sqlite 🧠 string indexed 1000 10 4.2±0.01µs 4.2±0.01µs 233.7 Ktx/sec 233.2 Ktx/sec
sqlite 🧠 string non_indexed 1000 10 49.5±0.35µs 48.9±0.31µs 19.7 Ktx/sec 20.0 Ktx/sec
sqlite 🧠 u64 indexed 1000 10 4.1±0.01µs 4.1±0.01µs 238.5 Ktx/sec 238.2 Ktx/sec
sqlite 🧠 u64 non_indexed 1000 10 31.9±0.77µs 31.7±0.13µs 30.6 Ktx/sec 30.8 Ktx/sec
stdb_module 💿 string indexed 1000 10 36.4±2.53µs 37.1±3.18µs 26.8 Ktx/sec 26.3 Ktx/sec
stdb_module 💿 string non_indexed 1000 10 170.3±1.58µs 167.9±2.06µs 5.7 Ktx/sec 5.8 Ktx/sec
stdb_module 💿 u64 indexed 1000 10 32.9±2.86µs 33.3±1.24µs 29.7 Ktx/sec 29.3 Ktx/sec
stdb_module 💿 u64 non_indexed 1000 10 147.1±5.88µs 155.8±20.35µs 6.6 Ktx/sec 6.3 Ktx/sec
stdb_module 🧠 string indexed 1000 10 35.8±3.02µs 35.6±2.78µs 27.3 Ktx/sec 27.4 Ktx/sec
stdb_module 🧠 string non_indexed 1000 10 165.5±5.99µs 162.1±14.65µs 5.9 Ktx/sec 6.0 Ktx/sec
stdb_module 🧠 u64 indexed 1000 10 32.7±2.31µs 33.0±2.33µs 29.8 Ktx/sec 29.6 Ktx/sec
stdb_module 🧠 u64 non_indexed 1000 10 140.3±15.62µs 135.7±3.13µs 7.0 Ktx/sec 7.2 Ktx/sec
stdb_raw 💿 string indexed 1000 10 4.5±0.01µs 4.7±0.01µs 216.6 Ktx/sec 207.8 Ktx/sec
stdb_raw 💿 string non_indexed 1000 10 150.1±0.27µs 150.1±0.41µs 6.5 Ktx/sec 6.5 Ktx/sec
stdb_raw 💿 u64 indexed 1000 10 4.4±0.02µs 4.6±0.01µs 222.3 Ktx/sec 212.1 Ktx/sec
stdb_raw 💿 u64 non_indexed 1000 10 126.5±0.51µs 129.8±0.34µs 7.7 Ktx/sec 7.5 Ktx/sec
stdb_raw 🧠 string indexed 1000 10 4.5±0.01µs 4.7±0.01µs 218.1 Ktx/sec 208.0 Ktx/sec
stdb_raw 🧠 string non_indexed 1000 10 148.5±0.27µs 148.1±0.31µs 6.6 Ktx/sec 6.6 Ktx/sec
stdb_raw 🧠 u64 indexed 1000 10 4.4±0.02µs 4.6±0.01µs 222.6 Ktx/sec 212.9 Ktx/sec
stdb_raw 🧠 u64 non_indexed 1000 10 126.8±0.26µs 129.9±0.22µs 7.7 Ktx/sec 7.5 Ktx/sec

Serialize

schema format count new latency old latency new throughput old throughput
location bsatn 100 1706.5±38.29ns 1651.5±33.03ns 55.9 Mtx/sec 57.7 Mtx/sec
location json 100 3.8±0.05µs 3.4±0.02µs 25.3 Mtx/sec 28.4 Mtx/sec
location product_value 100 549.5±0.88ns 550.0±0.69ns 173.6 Mtx/sec 173.4 Mtx/sec
person bsatn 100 2.9±0.01µs 2.9±0.01µs 33.3 Mtx/sec 33.3 Mtx/sec
person json 100 5.0±0.06µs 5.1±0.06µs 18.9 Mtx/sec 18.7 Mtx/sec
person product_value 100 1001.0±1.55ns 1001.8±1.02ns 95.3 Mtx/sec 95.2 Mtx/sec

Module: invoke with large arguments

arg size new latency old latency new throughput old throughput
64KiB 79.4±7.07µs 74.5±7.03µs - -

Module: print bulk

line count new latency old latency new throughput old throughput
1 23.8±1.93µs 24.4±1.75µs - -
100 198.7±1.42µs 199.5±1.32µs - -
1000 1878.3±78.99µs 1830.7±126.47µs - -

Remaining benchmarks

name new latency old latency new throughput old throughput

Please sign in to comment.