Skip to content

Commit

Permalink
Update the pull request template (#541)
Browse files Browse the repository at this point in the history
We've decided to move to a GitHub labelling system for tracking
breaking changes, so adjust the template accordingly.
  • Loading branch information
kulakowski authored Nov 8, 2023
1 parent ec52acd commit 4e05212
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
# Description of Changes

Please describe your change, mention any related tickets, and so on here.

# API and ABI
# API and ABI breaking changes

- [ ] This is a breaking change to the module ABI
- [ ] This is a breaking change to the module API
- [ ] This is a breaking change to the ClientAPI
- [ ] This is a breaking change to the SDK API

*If the API is breaking, please state below what will break*
If this is an API or ABI breaking change, please apply the
corresponding GitHub label.

# Expected complexity level and risk

Expand Down

1 comment on commit 4e05212

@github-actions
Copy link

@github-actions github-actions bot commented on 4e05212 Nov 8, 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 💿 430.2±1.42ns 432.9±2.22ns - -
sqlite 🧠 428.4±1.89ns 434.9±6.68ns - -
stdb_module 💿 17.9±0.94µs 17.9±1.04µs - -
stdb_module 🧠 17.9±1.04µs 18.4±1.43µs - -
stdb_raw 💿 709.8±0.93ns 715.9±2.15ns - -
stdb_raw 🧠 706.3±0.83ns 713.0±1.20ns - -

Single-row insertions

db on disk schema index type load new latency old latency new throughput old throughput
sqlite 💿 location multi_index 0 14.8±1.19µs 14.9±1.28µs 66.0 Ktx/sec 65.4 Ktx/sec
sqlite 💿 location multi_index 1000 15.7±0.12µs 16.0±0.35µs 62.1 Ktx/sec 61.2 Ktx/sec
sqlite 💿 location non_unique 0 7.1±0.54µs 7.2±0.03µs 136.9 Ktx/sec 136.5 Ktx/sec
sqlite 💿 location non_unique 1000 7.0±0.04µs 7.1±0.05µs 139.6 Ktx/sec 137.6 Ktx/sec
sqlite 💿 location unique 0 7.1±0.84µs 7.2±0.03µs 137.4 Ktx/sec 136.5 Ktx/sec
sqlite 💿 location unique 1000 7.0±0.04µs 7.1±0.04µs 139.1 Ktx/sec 137.2 Ktx/sec
sqlite 💿 person multi_index 0 14.1±0.05µs 14.4±0.04µs 69.3 Ktx/sec 67.8 Ktx/sec
sqlite 💿 person multi_index 1000 18.7±26.71µs 16.3±0.12µs 52.1 Ktx/sec 60.0 Ktx/sec
sqlite 💿 person non_unique 0 7.1±0.03µs 7.3±0.04µs 136.7 Ktx/sec 134.0 Ktx/sec
sqlite 💿 person non_unique 1000 7.2±0.03µs 7.4±0.04µs 135.9 Ktx/sec 132.8 Ktx/sec
sqlite 💿 person unique 0 7.2±0.65µs 7.3±0.04µs 135.4 Ktx/sec 134.7 Ktx/sec
sqlite 💿 person unique 1000 7.2±0.05µs 7.3±0.05µs 135.7 Ktx/sec 132.9 Ktx/sec
sqlite 🧠 location multi_index 0 4.0±0.02µs 4.1±0.01µs 243.8 Ktx/sec 240.3 Ktx/sec
sqlite 🧠 location multi_index 1000 5.2±0.03µs 5.3±0.03µs 187.6 Ktx/sec 185.1 Ktx/sec
sqlite 🧠 location non_unique 0 1833.0±5.51ns 1868.8±4.23ns 532.8 Ktx/sec 522.6 Ktx/sec
sqlite 🧠 location non_unique 1000 1876.7±8.75ns 1877.9±9.93ns 520.4 Ktx/sec 520.0 Ktx/sec
sqlite 🧠 location unique 0 1816.1±5.26ns 1837.3±5.81ns 537.7 Ktx/sec 531.5 Ktx/sec
sqlite 🧠 location unique 1000 1923.7±9.39ns 1933.7±14.24ns 507.7 Ktx/sec 505.0 Ktx/sec
sqlite 🧠 person multi_index 0 3.7±0.01µs 3.7±0.02µs 266.3 Ktx/sec 263.9 Ktx/sec
sqlite 🧠 person multi_index 1000 5.4±0.02µs 5.5±0.02µs 179.5 Ktx/sec 177.6 Ktx/sec
sqlite 🧠 person non_unique 0 1926.6±4.20ns 1946.8±7.66ns 506.9 Ktx/sec 501.6 Ktx/sec
sqlite 🧠 person non_unique 1000 1982.2±13.78ns 2.0±0.02µs 492.7 Ktx/sec 486.9 Ktx/sec
sqlite 🧠 person unique 0 1912.7±8.79ns 1931.3±27.61ns 510.6 Ktx/sec 505.6 Ktx/sec
sqlite 🧠 person unique 1000 2.0±0.01µs 2.1±0.01µs 484.7 Ktx/sec 475.0 Ktx/sec
stdb_module 💿 location multi_index 0 51.9±5.42µs 53.5±4.03µs 18.8 Ktx/sec 18.3 Ktx/sec
stdb_module 💿 location multi_index 1000 147.8±15.21µs 92.1±67.14µs 6.6 Ktx/sec 10.6 Ktx/sec
stdb_module 💿 location non_unique 0 47.8±5.52µs 48.2±4.95µs 20.4 Ktx/sec 20.2 Ktx/sec
stdb_module 💿 location non_unique 1000 407.9±1058.54µs 273.9±13.54µs 2.4 Ktx/sec 3.6 Ktx/sec
stdb_module 💿 location unique 0 51.4±4.36µs 49.9±5.20µs 19.0 Ktx/sec 19.6 Ktx/sec
stdb_module 💿 location unique 1000 125.9±7.39µs 227.9±80.04µs 7.8 Ktx/sec 4.3 Ktx/sec
stdb_module 💿 person multi_index 0 68.3±4.76µs 64.8±6.55µs 14.3 Ktx/sec 15.1 Ktx/sec
stdb_module 💿 person multi_index 1000 371.4±15.22µs 379.8±69.60µs 2.6 Ktx/sec 2.6 Ktx/sec
stdb_module 💿 person non_unique 0 50.4±3.26µs 46.7±4.30µs 19.4 Ktx/sec 20.9 Ktx/sec
stdb_module 💿 person non_unique 1000 168.2±93.78µs 282.0±57.33µs 5.8 Ktx/sec 3.5 Ktx/sec
stdb_module 💿 person unique 0 58.7±6.10µs 60.4±4.80µs 16.6 Ktx/sec 16.2 Ktx/sec
stdb_module 💿 person unique 1000 127.5±4.25µs 289.1±8.23µs 7.7 Ktx/sec 3.4 Ktx/sec
stdb_module 🧠 location multi_index 0 38.6±4.37µs 37.9±3.16µs 25.3 Ktx/sec 25.8 Ktx/sec
stdb_module 🧠 location multi_index 1000 148.8±3.51µs 180.3±14.40µs 6.6 Ktx/sec 5.4 Ktx/sec
stdb_module 🧠 location non_unique 0 33.1±3.99µs 32.1±2.69µs 29.5 Ktx/sec 30.4 Ktx/sec
stdb_module 🧠 location non_unique 1000 250.1±7.09µs 197.3±12.44µs 3.9 Ktx/sec 4.9 Ktx/sec
stdb_module 🧠 location unique 0 35.9±3.90µs 36.6±3.32µs 27.2 Ktx/sec 26.7 Ktx/sec
stdb_module 🧠 location unique 1000 121.9±1.83µs 174.1±13.74µs 8.0 Ktx/sec 5.6 Ktx/sec
stdb_module 🧠 person multi_index 0 48.6±5.73µs 42.5±3.89µs 20.1 Ktx/sec 23.0 Ktx/sec
stdb_module 🧠 person multi_index 1000 245.9±74.10µs 128.9±35.51µs 4.0 Ktx/sec 7.6 Ktx/sec
stdb_module 🧠 person non_unique 0 33.2±2.57µs 33.4±3.34µs 29.4 Ktx/sec 29.2 Ktx/sec
stdb_module 🧠 person non_unique 1000 183.4±3.93µs 239.0±1.46µs 5.3 Ktx/sec 4.1 Ktx/sec
stdb_module 🧠 person unique 0 43.3±5.09µs 36.7±3.74µs 22.6 Ktx/sec 26.6 Ktx/sec
stdb_module 🧠 person unique 1000 99.5±3.68µs 247.7±18.82µs 9.8 Ktx/sec 3.9 Ktx/sec
stdb_raw 💿 location multi_index 0 7.2±0.04µs 7.2±0.02µs 136.0 Ktx/sec 136.2 Ktx/sec
stdb_raw 💿 location multi_index 1000 28.8±189.30µs 10.0±0.19µs 33.9 Ktx/sec 98.1 Ktx/sec
stdb_raw 💿 location non_unique 0 4.8±0.01µs 4.8±0.01µs 201.8 Ktx/sec 204.6 Ktx/sec
stdb_raw 💿 location non_unique 1000 21.8±154.33µs 6.2±0.17µs 44.8 Ktx/sec 157.9 Ktx/sec
stdb_raw 💿 location unique 0 6.1±0.02µs 6.1±0.01µs 159.1 Ktx/sec 159.5 Ktx/sec
stdb_raw 💿 location unique 1000 8.5±0.15µs 8.4±0.15µs 115.2 Ktx/sec 116.0 Ktx/sec
stdb_raw 💿 person multi_index 0 10.9±0.12µs 10.9±0.01µs 89.3 Ktx/sec 89.3 Ktx/sec
stdb_raw 💿 person multi_index 1000 14.3±0.20µs 14.1±0.15µs 68.5 Ktx/sec 69.1 Ktx/sec
stdb_raw 💿 person non_unique 0 5.4±0.01µs 5.3±0.04µs 182.5 Ktx/sec 183.1 Ktx/sec
stdb_raw 💿 person non_unique 1000 22.4±153.66µs 17.6±105.17µs 43.5 Ktx/sec 55.5 Ktx/sec
stdb_raw 💿 person unique 0 7.7±0.04µs 7.8±0.02µs 127.0 Ktx/sec 125.8 Ktx/sec
stdb_raw 💿 person unique 1000 10.4±0.22µs 32.1±217.74µs 94.0 Ktx/sec 30.4 Ktx/sec
stdb_raw 🧠 location multi_index 0 4.2±0.01µs 4.2±0.01µs 233.4 Ktx/sec 234.3 Ktx/sec
stdb_raw 🧠 location multi_index 1000 5.8±0.03µs 5.9±0.02µs 168.6 Ktx/sec 166.8 Ktx/sec
stdb_raw 🧠 location non_unique 0 1928.6±6.46ns 1894.6±4.17ns 506.3 Ktx/sec 515.5 Ktx/sec
stdb_raw 🧠 location non_unique 1000 2.4±0.02µs 2.4±0.02µs 400.9 Ktx/sec 410.4 Ktx/sec
stdb_raw 🧠 location unique 0 3.2±0.01µs 3.2±0.01µs 305.5 Ktx/sec 307.3 Ktx/sec
stdb_raw 🧠 location unique 1000 4.2±0.05µs 4.2±0.02µs 230.1 Ktx/sec 230.7 Ktx/sec
stdb_raw 🧠 person multi_index 0 7.9±0.04µs 7.8±0.01µs 123.3 Ktx/sec 124.9 Ktx/sec
stdb_raw 🧠 person multi_index 1000 9.9±0.07µs 9.9±0.06µs 98.3 Ktx/sec 98.6 Ktx/sec
stdb_raw 🧠 person non_unique 0 2.5±0.01µs 2.5±0.02µs 394.4 Ktx/sec 391.9 Ktx/sec
stdb_raw 🧠 person non_unique 1000 3.2±0.02µs 3.3±0.06µs 303.6 Ktx/sec 299.5 Ktx/sec
stdb_raw 🧠 person unique 0 4.7±0.01µs 4.7±0.01µs 206.9 Ktx/sec 207.6 Ktx/sec
stdb_raw 🧠 person unique 1000 6.2±0.04µs 6.2±0.03µs 158.7 Ktx/sec 157.0 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.6±4.39µs 129.6±0.39µs 7.5 Ktx/sec 7.5 Ktx/sec
sqlite 💿 location multi_index 1000 100 201.0±1.11µs 201.3±1.33µs 4.9 Ktx/sec 4.9 Ktx/sec
sqlite 💿 location non_unique 0 100 49.0±0.23µs 49.4±7.72µs 19.9 Ktx/sec 19.8 Ktx/sec
sqlite 💿 location non_unique 1000 100 52.3±0.28µs 51.9±0.29µs 18.7 Ktx/sec 18.8 Ktx/sec
sqlite 💿 location unique 0 100 52.1±6.03µs 50.1±0.35µs 18.8 Ktx/sec 19.5 Ktx/sec
sqlite 💿 location unique 1000 100 58.7±11.82µs 55.6±8.07µs 16.6 Ktx/sec 17.6 Ktx/sec
sqlite 💿 person multi_index 0 100 116.2±0.47µs 117.8±3.50µs 8.4 Ktx/sec 8.3 Ktx/sec
sqlite 💿 person multi_index 1000 100 229.9±0.50µs 233.3±2.39µs 4.2 Ktx/sec 4.2 Ktx/sec
sqlite 💿 person non_unique 0 100 48.3±8.14µs 47.3±1.17µs 20.2 Ktx/sec 20.6 Ktx/sec
sqlite 💿 person non_unique 1000 100 58.3±0.34µs 58.8±0.33µs 16.8 Ktx/sec 16.6 Ktx/sec
sqlite 💿 person unique 0 100 50.9±5.54µs 49.3±1.21µs 19.2 Ktx/sec 19.8 Ktx/sec
sqlite 💿 person unique 1000 100 54.6±0.40µs 54.9±0.27µs 17.9 Ktx/sec 17.8 Ktx/sec
sqlite 🧠 location multi_index 0 100 118.8±1.40µs 118.4±1.17µs 8.2 Ktx/sec 8.3 Ktx/sec
sqlite 🧠 location multi_index 1000 100 168.8±0.79µs 171.0±0.44µs 5.8 Ktx/sec 5.7 Ktx/sec
sqlite 🧠 location non_unique 0 100 42.4±0.48µs 42.0±0.32µs 23.0 Ktx/sec 23.3 Ktx/sec
sqlite 🧠 location non_unique 1000 100 44.3±0.28µs 43.2±0.30µs 22.0 Ktx/sec 22.6 Ktx/sec
sqlite 🧠 location unique 0 100 44.5±0.34µs 44.1±0.41µs 22.0 Ktx/sec 22.1 Ktx/sec
sqlite 🧠 location unique 1000 100 49.2±0.63µs 48.0±0.34µs 19.8 Ktx/sec 20.3 Ktx/sec
sqlite 🧠 person multi_index 0 100 105.0±0.30µs 106.7±0.54µs 9.3 Ktx/sec 9.2 Ktx/sec
sqlite 🧠 person multi_index 1000 100 185.9±0.50µs 187.0±0.56µs 5.3 Ktx/sec 5.2 Ktx/sec
sqlite 🧠 person non_unique 0 100 41.4±0.26µs 40.7±0.24µs 23.6 Ktx/sec 24.0 Ktx/sec
sqlite 🧠 person non_unique 1000 100 44.1±0.20µs 44.7±0.38µs 22.1 Ktx/sec 21.9 Ktx/sec
sqlite 🧠 person unique 0 100 42.9±0.23µs 42.6±0.33µs 22.8 Ktx/sec 22.9 Ktx/sec
sqlite 🧠 person unique 1000 100 47.0±0.47µs 47.5±0.19µs 20.8 Ktx/sec 20.6 Ktx/sec
stdb_module 💿 location multi_index 0 100 882.9±159.74µs 745.5±169.73µs 1132 tx/sec 1341 tx/sec
stdb_module 💿 location multi_index 1000 100 738.4±45.50µs 1069.7±10.70µs 1354 tx/sec 934 tx/sec
stdb_module 💿 location non_unique 0 100 620.1±44.54µs 644.5±7.34µs 1612 tx/sec 1551 tx/sec
stdb_module 💿 location non_unique 1000 100 763.4±70.97µs 639.8±18.13µs 1309 tx/sec 1563 tx/sec
stdb_module 💿 location unique 0 100 664.9±135.12µs 745.2±147.70µs 1503 tx/sec 1341 tx/sec
stdb_module 💿 location unique 1000 100 711.6±179.83µs 832.2±170.31µs 1405 tx/sec 1201 tx/sec
stdb_module 💿 person multi_index 0 100 1022.3±26.67µs 1033.5±2.45µs 978 tx/sec 967 tx/sec
stdb_module 💿 person multi_index 1000 100 1238.7±56.90µs 1642.4±12.19µs 807 tx/sec 608 tx/sec
stdb_module 💿 person non_unique 0 100 718.2±100.52µs 613.6±84.47µs 1392 tx/sec 1629 tx/sec
stdb_module 💿 person non_unique 1000 100 944.9±42.30µs 991.0±52.22µs 1058 tx/sec 1009 tx/sec
stdb_module 💿 person unique 0 100 734.6±21.30µs 868.8±155.94µs 1361 tx/sec 1151 tx/sec
stdb_module 💿 person unique 1000 100 1009.7±26.55µs 1038.8±9.66µs 990 tx/sec 962 tx/sec
stdb_module 🧠 location multi_index 0 100 669.1±106.08µs 652.8±91.36µs 1494 tx/sec 1531 tx/sec
stdb_module 🧠 location multi_index 1000 100 752.3±60.53µs 890.2±104.35µs 1329 tx/sec 1123 tx/sec
stdb_module 🧠 location non_unique 0 100 384.4±10.85µs 332.5±12.81µs 2.5 Ktx/sec 2.9 Ktx/sec
stdb_module 🧠 location non_unique 1000 100 479.4±29.92µs 373.4±5.48µs 2.0 Ktx/sec 2.6 Ktx/sec
stdb_module 🧠 location unique 0 100 423.1±34.68µs 357.2±10.80µs 2.3 Ktx/sec 2.7 Ktx/sec
stdb_module 🧠 location unique 1000 100 686.4±50.62µs 439.9±51.68µs 1456 tx/sec 2.2 Ktx/sec
stdb_module 🧠 person multi_index 0 100 872.0±1.43µs 900.7±44.30µs 1146 tx/sec 1110 tx/sec
stdb_module 🧠 person multi_index 1000 100 1033.6±109.32µs 1044.1±84.99µs 967 tx/sec 957 tx/sec
stdb_module 🧠 person non_unique 0 100 387.3±31.56µs 468.4±48.62µs 2.5 Ktx/sec 2.1 Ktx/sec
stdb_module 🧠 person non_unique 1000 100 589.8±7.40µs 587.5±11.83µs 1695 tx/sec 1702 tx/sec
stdb_module 🧠 person unique 0 100 632.1±9.91µs 703.1±62.12µs 1582 tx/sec 1422 tx/sec
stdb_module 🧠 person unique 1000 100 815.1±30.64µs 683.9±49.27µs 1226 tx/sec 1462 tx/sec
stdb_raw 💿 location multi_index 0 100 392.6±4.83µs 392.1±0.79µs 2.5 Ktx/sec 2.5 Ktx/sec
stdb_raw 💿 location multi_index 1000 100 418.2±1.57µs 445.5±263.72µs 2.3 Ktx/sec 2.2 Ktx/sec
stdb_raw 💿 location non_unique 0 100 171.7±2.40µs 171.8±5.47µs 5.7 Ktx/sec 5.7 Ktx/sec
stdb_raw 💿 location non_unique 1000 100 173.9±1.02µs 185.4±117.07µs 5.6 Ktx/sec 5.3 Ktx/sec
stdb_raw 💿 location unique 0 100 294.5±9.52µs 296.1±0.30µs 3.3 Ktx/sec 3.3 Ktx/sec
stdb_raw 💿 location unique 1000 100 338.1±264.33µs 334.6±190.82µs 2.9 Ktx/sec 2.9 Ktx/sec
stdb_raw 💿 person multi_index 0 100 722.2±1.51µs 716.2±17.00µs 1384 tx/sec 1396 tx/sec
stdb_raw 💿 person multi_index 1000 100 752.4±2.10µs 747.4±5.21µs 1329 tx/sec 1337 tx/sec
stdb_raw 💿 person non_unique 0 100 228.8±0.23µs 227.3±7.31µs 4.3 Ktx/sec 4.3 Ktx/sec
stdb_raw 💿 person non_unique 1000 100 249.6±175.25µs 243.0±141.21µs 3.9 Ktx/sec 4.0 Ktx/sec
stdb_raw 💿 person unique 0 100 437.7±5.28µs 436.1±0.44µs 2.2 Ktx/sec 2.2 Ktx/sec
stdb_raw 💿 person unique 1000 100 485.3±303.72µs 455.6±0.84µs 2.0 Ktx/sec 2.1 Ktx/sec
stdb_raw 🧠 location multi_index 0 100 298.0±0.81µs 295.5±0.75µs 3.3 Ktx/sec 3.3 Ktx/sec
stdb_raw 🧠 location multi_index 1000 100 322.7±1.78µs 322.3±0.71µs 3.0 Ktx/sec 3.0 Ktx/sec
stdb_raw 🧠 location non_unique 0 100 75.8±0.30µs 75.1±0.16µs 12.9 Ktx/sec 13.0 Ktx/sec
stdb_raw 🧠 location non_unique 1000 100 76.7±0.22µs 76.2±0.16µs 12.7 Ktx/sec 12.8 Ktx/sec
stdb_raw 🧠 location unique 0 100 197.8±0.32µs 200.4±0.26µs 4.9 Ktx/sec 4.9 Ktx/sec
stdb_raw 🧠 location unique 1000 100 214.9±0.34µs 217.5±0.30µs 4.5 Ktx/sec 4.5 Ktx/sec
stdb_raw 🧠 person multi_index 0 100 621.0±1.22µs 613.5±0.65µs 1610 tx/sec 1630 tx/sec
stdb_raw 🧠 person multi_index 1000 100 650.3±5.76µs 644.1±0.91µs 1537 tx/sec 1552 tx/sec
stdb_raw 🧠 person non_unique 0 100 128.1±0.58µs 125.8±0.13µs 7.6 Ktx/sec 7.8 Ktx/sec
stdb_raw 🧠 person non_unique 1000 100 130.2±0.28µs 128.4±0.33µs 7.5 Ktx/sec 7.6 Ktx/sec
stdb_raw 🧠 person unique 0 100 336.7±0.56µs 336.4±0.24µs 2.9 Ktx/sec 2.9 Ktx/sec
stdb_raw 🧠 person unique 1000 100 353.4±0.28µs 354.6±0.78µ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.8±0.05µs 9.1±0.06µs 110.9 Ktx/sec 107.0 Ktx/sec
sqlite 💿 person unique 8.8±0.16µs 9.2±0.11µs 111.6 Ktx/sec 105.9 Ktx/sec
sqlite 🧠 location unique 7.4±0.11µs 7.5±0.15µs 131.5 Ktx/sec 130.1 Ktx/sec
sqlite 🧠 person unique 7.5±0.07µs 7.9±0.09µs 129.9 Ktx/sec 124.3 Ktx/sec
stdb_module 💿 location unique 50.8±6.44µs 53.5±5.90µs 19.2 Ktx/sec 18.3 Ktx/sec
stdb_module 💿 person unique 63.1±10.50µs 58.0±11.53µs 15.5 Ktx/sec 16.8 Ktx/sec
stdb_module 🧠 location unique 51.3±3.73µs 47.3±8.21µs 19.0 Ktx/sec 20.6 Ktx/sec
stdb_module 🧠 person unique 62.1±9.74µs 66.5±7.59µs 15.7 Ktx/sec 14.7 Ktx/sec
stdb_raw 💿 location unique 8.9±0.00µs 9.0±0.04µs 109.9 Ktx/sec 108.3 Ktx/sec
stdb_raw 💿 person unique 8.9±0.01µs 9.0±0.00µs 109.9 Ktx/sec 108.3 Ktx/sec
stdb_raw 🧠 location unique 8.9±0.01µs 9.0±0.01µs 109.9 Ktx/sec 108.3 Ktx/sec
stdb_raw 🧠 person unique 8.9±0.01µs 9.0±0.00µs 109.9 Ktx/sec 108.4 Ktx/sec

Find unique key

db on disk key type load new latency old latency new throughput old throughput
sqlite 💿 u32 1000 2.3±0.01µs 2.4±0.02µs 422.8 Ktx/sec 411.8 Ktx/sec
sqlite 🧠 u32 1000 1132.9±4.20ns 1122.5±4.06ns 862.0 Ktx/sec 870.0 Ktx/sec
stdb_module 💿 u32 1000 25.3±1.85µs 24.5±1.86µs 38.6 Ktx/sec 39.9 Ktx/sec
stdb_module 🧠 u32 1000 25.7±2.13µs 25.4±2.38µs 38.0 Ktx/sec 38.5 Ktx/sec
stdb_raw 💿 u32 1000 1881.4±3.86ns 1948.9±9.19ns 519.1 Ktx/sec 501.1 Ktx/sec
stdb_raw 🧠 u32 1000 1875.2±2.30ns 1937.3±4.14ns 520.8 Ktx/sec 504.1 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.01µs 5.7±0.02µs 174.2 Ktx/sec 170.1 Ktx/sec
sqlite 💿 string non_indexed 1000 10 47.0±0.27µs 48.8±1.04µs 20.8 Ktx/sec 20.0 Ktx/sec
sqlite 💿 u64 indexed 1000 10 5.5±0.01µs 5.5±0.02µs 178.6 Ktx/sec 177.2 Ktx/sec
sqlite 💿 u64 non_indexed 1000 10 32.9±0.10µs 33.0±0.11µs 29.7 Ktx/sec 29.6 Ktx/sec
sqlite 🧠 string indexed 1000 10 4.2±0.01µs 4.2±0.01µs 234.3 Ktx/sec 231.9 Ktx/sec
sqlite 🧠 string non_indexed 1000 10 45.8±0.27µs 46.9±0.33µs 21.3 Ktx/sec 20.8 Ktx/sec
sqlite 🧠 u64 indexed 1000 10 4.1±0.01µs 4.1±0.04µs 239.4 Ktx/sec 238.8 Ktx/sec
sqlite 🧠 u64 non_indexed 1000 10 31.7±0.32µs 31.7±0.10µs 30.8 Ktx/sec 30.8 Ktx/sec
stdb_module 💿 string indexed 1000 10 36.5±2.93µs 37.5±2.39µs 26.8 Ktx/sec 26.0 Ktx/sec
stdb_module 💿 string non_indexed 1000 10 166.3±3.80µs 169.7±3.38µs 5.9 Ktx/sec 5.8 Ktx/sec
stdb_module 💿 u64 indexed 1000 10 32.9±2.95µs 31.8±2.92µs 29.7 Ktx/sec 30.7 Ktx/sec
stdb_module 💿 u64 non_indexed 1000 10 140.2±1.22µs 141.4±1.51µs 7.0 Ktx/sec 6.9 Ktx/sec
stdb_module 🧠 string indexed 1000 10 36.9±2.70µs 37.2±3.39µs 26.5 Ktx/sec 26.3 Ktx/sec
stdb_module 🧠 string non_indexed 1000 10 172.6±6.73µs 162.6±3.31µs 5.7 Ktx/sec 6.0 Ktx/sec
stdb_module 🧠 u64 indexed 1000 10 33.2±2.50µs 32.0±3.35µs 29.4 Ktx/sec 30.5 Ktx/sec
stdb_module 🧠 u64 non_indexed 1000 10 141.9±5.01µs 136.3±1.76µs 6.9 Ktx/sec 7.2 Ktx/sec
stdb_raw 💿 string indexed 1000 10 4.2±0.01µs 4.3±0.01µs 232.9 Ktx/sec 228.4 Ktx/sec
stdb_raw 💿 string non_indexed 1000 10 136.1±0.57µs 140.3±0.23µs 7.2 Ktx/sec 7.0 Ktx/sec
stdb_raw 💿 u64 indexed 1000 10 4.1±0.01µs 4.2±0.01µs 238.2 Ktx/sec 235.3 Ktx/sec
stdb_raw 💿 u64 non_indexed 1000 10 113.0±0.16µs 114.4±0.44µs 8.6 Ktx/sec 8.5 Ktx/sec
stdb_raw 🧠 string indexed 1000 10 4.2±0.01µs 4.3±0.01µs 232.7 Ktx/sec 229.4 Ktx/sec
stdb_raw 🧠 string non_indexed 1000 10 135.1±0.38µs 137.9±0.31µs 7.2 Ktx/sec 7.1 Ktx/sec
stdb_raw 🧠 u64 indexed 1000 10 4.1±0.01µs 4.1±0.01µs 238.0 Ktx/sec 236.3 Ktx/sec
stdb_raw 🧠 u64 non_indexed 1000 10 113.0±0.56µs 114.3±0.43µs 8.6 Ktx/sec 8.5 Ktx/sec

Serialize

schema format count new latency old latency new throughput old throughput
location bsatn 100 1724.4±33.00ns 1696.6±33.29ns 55.3 Mtx/sec 56.2 Mtx/sec
location json 100 3.6±0.03µs 3.2±0.01µs 26.2 Mtx/sec 29.9 Mtx/sec
location product_value 100 547.5±0.28ns 546.4±0.95ns 174.2 Mtx/sec 174.5 Mtx/sec
person bsatn 100 2.9±0.01µs 2.9±0.02µs 33.1 Mtx/sec 33.2 Mtx/sec
person json 100 5.2±0.03µs 5.0±0.03µs 18.3 Mtx/sec 19.1 Mtx/sec
person product_value 100 1030.2±1.13ns 1002.6±0.58ns 92.6 Mtx/sec 95.1 Mtx/sec

Module: invoke with large arguments

arg size new latency old latency new throughput old throughput
64KiB 77.0±4.34µs 79.7±7.79µs - -

Module: print bulk

line count new latency old latency new throughput old throughput
1 23.2±1.46µs 23.8±1.43µs - -
100 199.8±2.45µs 206.5±16.64µs - -
1000 1828.5±52.78µs 1850.5±157.60µs - -

Remaining benchmarks

name new latency old latency new throughput old throughput

Please sign in to comment.