Skip to content

Commit

Permalink
Commit test clients' module_bindings (#346)
Browse files Browse the repository at this point in the history
* Commit test clients' module_bindings

Having discussed with the team, I've come around to it being correct
to commit the `module_bindings` for the SDK tests' two test clients.

This way, people not working on codegen can run `cargo test --workspace` &c,
and open the test clients with rust-analyzer without any additional rigamarole.

The downside is that any time codegen changes,
we'll see very large commits touching all of these files,
but consensus is we don't really care.

An additional upside is that now we can run clippy against the bindings in CI,
which will incentivize ensuring that the bindings generate lint-free code.

* Add linguist-generated=true for generated module bindings

* Top-level .gitattributes sets `module_bindings` as generated
  • Loading branch information
gefjon authored Oct 2, 2023
1 parent 7f6d90f commit f0e4b00
Show file tree
Hide file tree
Showing 230 changed files with 11,514 additions and 8 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
**/module_bindings/** linguist-generated=true
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
sudo chmod 777 /stdb
- name: Run cargo test
run: cargo test --all --exclude test-client --exclude connect_disconnect_client --features odb_rocksdb,odb_sled
run: cargo test --all --features odb_rocksdb,odb_sled

lints:
name: Lints
Expand All @@ -52,7 +52,7 @@ jobs:
run: cargo fmt --all -- --check

- name: Run cargo clippy
run: cargo clippy --all --exclude test-client --exclude connect_disconnect_client --tests --features odb_rocksdb,odb_sled -- -D warnings
run: cargo clippy --all --tests --features odb_rocksdb,odb_sled -- -D warnings

wasm_bindings:
name: Build and test wasm bindings
Expand Down
12 changes: 10 additions & 2 deletions crates/cli/src/subcommands/generate/rust.rs
Original file line number Diff line number Diff line change
Expand Up @@ -990,21 +990,29 @@ fn print_handle_resubscribe_defn(out: &mut Indenter, items: &[GenItem]) {
/// to `ReducerCallbacks::handle_event_of_type` with an appropriate type argument.
fn print_handle_event_defn(out: &mut Indenter, items: &[GenItem]) {
out.delimited_block(
"fn handle_event(&self, event: Event, reducer_callbacks: &mut ReducerCallbacks, state: Arc<ClientCache>) -> Option<Arc<AnyReducerEvent>> {",
"fn handle_event(&self, event: Event, _reducer_callbacks: &mut ReducerCallbacks, _state: Arc<ClientCache>) -> Option<Arc<AnyReducerEvent>> {",
|out| {
out.delimited_block(
"let Some(function_call) = &event.function_call else {",
|out| writeln!(out, "spacetimedb_sdk::log::warn!(\"Received Event with None function_call\"); return None;")
.unwrap(),
"};\n",
);

// If the module defines no reducers,
// we'll generate a single match arm, the fallthrough.
// Clippy doesn't like this, as it could be a `let` binding,
// but we're not going to add logic to handle that case,
// so just quiet the lint.
writeln!(out, "#[allow(clippy::match_single_binding)]").unwrap();

out.delimited_block(
"match &function_call.reducer[..] {",
|out| {
for reducer in iter_reducer_items(items) {
writeln!(
out,
"{:?} => reducer_callbacks.handle_event_of_type::<{}::{}, ReducerEvent>(event, state, ReducerEvent::{}),",
"{:?} => _reducer_callbacks.handle_event_of_type::<{}::{}, ReducerEvent>(event, _state, ReducerEvent::{}),",
reducer.name,
reducer_module_name(reducer),
reducer_type_name(reducer),
Expand Down
1 change: 0 additions & 1 deletion crates/sdk/tests/connect_disconnect_client/src/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion crates/sdk/tests/connect_disconnect_client/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#[rustfmt::skip]
mod module_bindings;

use module_bindings::*;
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

112 changes: 112 additions & 0 deletions crates/sdk/tests/connect_disconnect_client/src/module_bindings/mod.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion crates/sdk/tests/test-client/src/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion crates/sdk/tests/test-client/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ use spacetimedb_sdk::{

#[allow(clippy::too_many_arguments)]
#[allow(clippy::large_enum_variant)]
#[rustfmt::skip]
mod module_bindings;

use module_bindings::*;
Expand Down
18 changes: 18 additions & 0 deletions crates/sdk/tests/test-client/src/module_bindings/byte_struct.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

1 comment on commit f0e4b00

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark for f0e4b00

Click to view benchmark
Test Base PR %
serialize/location/bsatn/count=100 2.8±0.05µs 34.2 MElem/sec N/A N/A
serialize/location/json/count=100 3.9±0.06µs 24.7 MElem/sec N/A N/A
serialize/location/product_value/count=100 2.8±0.08µs 33.8 MElem/sec N/A N/A
serialize/person/bsatn/count=100 3.6±0.04µs 26.3 MElem/sec N/A N/A
serialize/person/json/count=100 6.0±0.65µs 15.8 MElem/sec N/A N/A
serialize/person/product_value/count=100 1891.3±16.91ns 50.4 MElem/sec N/A N/A
sqlite/disk/empty 467.3±3.46ns 469.0±13.69ns +0.36%
sqlite/disk/filter/string/indexed/load=1000/count=10 7.2±0.06µs 135.3 KElem/sec N/A N/A
sqlite/disk/filter/string/non_indexed/load=1000/count=10 59.5±0.31µs 16.4 KElem/sec N/A N/A
sqlite/disk/filter/u64/indexed/load=1000/count=10 7.3±0.04µs 134.6 KElem/sec N/A N/A
sqlite/disk/filter/u64/non_indexed/load=1000/count=10 45.2±0.26µs 21.6 KElem/sec N/A N/A
sqlite/disk/find_unique/u32/load=1000 3.7±0.03µs 266.6 KElem/sec N/A N/A
sqlite/disk/insert_1/location/multi_index/load=0 30.5±0.30µs 32.1 KElem/sec N/A N/A
sqlite/disk/insert_1/location/multi_index/load=1000 33.5±0.58µs 29.2 KElem/sec N/A N/A
sqlite/disk/insert_1/location/non_unique/load=0 14.5±0.14µs 67.5 KElem/sec N/A N/A
sqlite/disk/insert_1/location/non_unique/load=1000 14.6±0.31µs 67.1 KElem/sec N/A N/A
sqlite/disk/insert_1/location/unique/load=0 14.4±0.24µs 67.6 KElem/sec N/A N/A
sqlite/disk/insert_1/location/unique/load=1000 14.5±0.25µs 67.5 KElem/sec N/A N/A
sqlite/disk/insert_1/person/multi_index/load=0 30.4±0.23µs 32.1 KElem/sec N/A N/A
sqlite/disk/insert_1/person/multi_index/load=1000 33.8±0.72µs 28.9 KElem/sec N/A N/A
sqlite/disk/insert_1/person/non_unique/load=0 14.5±0.21µs 67.2 KElem/sec N/A N/A
sqlite/disk/insert_1/person/non_unique/load=1000 14.7±0.31µs 66.5 KElem/sec N/A N/A
sqlite/disk/insert_1/person/unique/load=0 14.6±0.25µs 67.0 KElem/sec N/A N/A
sqlite/disk/insert_1/person/unique/load=1000 14.7±0.29µs 66.5 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/multi_index/load=0/count=100 150.2±1.36µs 154.9±11.73µs +3.13%
sqlite/disk/insert_bulk/location/multi_index/load=1000/count=100 264.6±3.75µs 262.1±8.08µs -0.94%
sqlite/disk/insert_bulk/location/non_unique/load=0/count=100 52.3±1.56µs 18.7 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/non_unique/load=1000/count=100 59.4±0.57µs 16.5 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/unique/load=0/count=100 53.3±0.50µs 18.3 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/unique/load=1000/count=100 60.4±0.91µs 16.2 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/multi_index/load=0/count=100 138.8±1.18µs 137.8±2.56µs -0.72%
sqlite/disk/insert_bulk/person/multi_index/load=1000/count=100 325.3±4.45µs 322.8±5.17µs -0.77%
sqlite/disk/insert_bulk/person/non_unique/load=0/count=100 51.6±0.30µs 18.9 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/non_unique/load=1000/count=100 78.4±1.85µs 12.5 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/unique/load=0/count=100 54.3±0.34µs 18.0 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/unique/load=1000/count=100 62.4±0.79µs 15.6 KElem/sec N/A N/A
sqlite/disk/iterate/location/unique/count=100 10.1±0.08µs 96.5 KElem/sec N/A N/A
sqlite/disk/iterate/person/unique/count=100 10.4±0.06µs 93.8 KElem/sec N/A N/A
sqlite/mem/empty 459.2±5.42ns 463.3±15.63ns +0.89%
sqlite/mem/filter/string/indexed/load=1000/count=10 4.5±0.16µs 218.3 KElem/sec N/A N/A
sqlite/mem/filter/string/non_indexed/load=1000/count=10 58.7±6.36µs 16.6 KElem/sec N/A N/A
sqlite/mem/filter/u64/indexed/load=1000/count=10 4.4±0.07µs 223.3 KElem/sec N/A N/A
sqlite/mem/filter/u64/non_indexed/load=1000/count=10 41.6±0.58µs 23.5 KElem/sec N/A N/A
sqlite/mem/find_unique/u32/load=1000 1147.3±33.41ns 851.2 KElem/sec N/A N/A
sqlite/mem/insert_1/location/multi_index/load=0 4.9±0.65µs 197.4 KElem/sec N/A N/A
sqlite/mem/insert_1/location/multi_index/load=1000 6.2±0.23µs 157.1 KElem/sec N/A N/A
sqlite/mem/insert_1/location/non_unique/load=0 1993.9±11.03ns 489.8 KElem/sec N/A N/A
sqlite/mem/insert_1/location/non_unique/load=1000 2.1±0.07µs 468.1 KElem/sec N/A N/A
sqlite/mem/insert_1/location/unique/load=0 1979.6±8.95ns 493.3 KElem/sec N/A N/A
sqlite/mem/insert_1/location/unique/load=1000 2.1±0.12µs 454.5 KElem/sec N/A N/A
sqlite/mem/insert_1/person/multi_index/load=0 4.7±0.19µs 209.9 KElem/sec N/A N/A
sqlite/mem/insert_1/person/multi_index/load=1000 7.2±0.45µs 136.4 KElem/sec N/A N/A
sqlite/mem/insert_1/person/non_unique/load=0 2.0±0.02µs 485.2 KElem/sec N/A N/A
sqlite/mem/insert_1/person/non_unique/load=1000 2.2±0.15µs 443.9 KElem/sec N/A N/A
sqlite/mem/insert_1/person/unique/load=0 1999.2±63.17ns 488.5 KElem/sec N/A N/A
sqlite/mem/insert_1/person/unique/load=1000 2.2±0.04µs 437.7 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/multi_index/load=0/count=100 122.9±2.10µs 120.1±2.81µs -2.28%
sqlite/mem/insert_bulk/location/multi_index/load=1000/count=100 185.0±1.67µs 181.0±0.96µs -2.16%
sqlite/mem/insert_bulk/location/non_unique/load=0/count=100 40.9±0.80µs 23.9 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/non_unique/load=1000/count=100 43.9±0.93µs 22.2 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/unique/load=0/count=100 41.5±0.39µs 23.5 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/unique/load=1000/count=100 47.0±2.64µs 20.8 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/multi_index/load=0/count=100 111.3±3.49µs 111.5±5.11µs +0.18%
sqlite/mem/insert_bulk/person/multi_index/load=1000/count=100 212.2±5.33µs 210.2±3.90µs -0.94%
sqlite/mem/insert_bulk/person/non_unique/load=0/count=100 39.1±0.47µs 25.0 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/non_unique/load=1000/count=100 46.5±1.52µs 21.0 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/unique/load=0/count=100 41.3±0.64µs 23.7 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/unique/load=1000/count=100 48.2±2.00µs 20.3 KElem/sec N/A N/A
sqlite/mem/iterate/location/unique/count=100 7.6±0.03µs 128.0 KElem/sec N/A N/A
sqlite/mem/iterate/person/unique/count=100 8.1±0.03µs 120.3 KElem/sec N/A N/A
stdb_module/disk/empty 35.9±0.66µs 33.0±1.71µs -8.08%
stdb_module/disk/filter/string/indexed/load=1000/count=10 67.5±6.04µs 14.5 KElem/sec N/A N/A
stdb_module/disk/filter/string/non_indexed/load=1000/count=10 162.8±8.95µs 159.0±5.31µs -2.33%
stdb_module/disk/filter/u64/indexed/load=1000/count=10 60.5±4.75µs 16.1 KElem/sec N/A N/A
stdb_module/disk/filter/u64/non_indexed/load=1000/count=10 133.0±6.06µs 133.4±7.24µs +0.30%
stdb_module/disk/find_unique/u32/load=1000 44.8±2.71µs 21.8 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/multi_index/load=0 63.2±4.48µs 15.4 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/multi_index/load=1000 413.5±25.14µs 389.1±38.56µs -5.90%
stdb_module/disk/insert_1/location/non_unique/load=0 56.9±15.59µs 17.2 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/non_unique/load=1000 338.1±14.61µs 329.6±25.50µs -2.51%
stdb_module/disk/insert_1/location/unique/load=0 61.2±3.70µs 15.9 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/unique/load=1000 364.7±19.67µs 358.5±49.73µs -1.70%
stdb_module/disk/insert_1/person/multi_index/load=0 66.5±5.07µs 14.7 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/multi_index/load=1000 521.5±144.51µs 516.3±59.06µs -1.00%
stdb_module/disk/insert_1/person/non_unique/load=0 60.7±6.12µs 16.1 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/non_unique/load=1000 350.4±43.86µs 322.7±31.18µs -7.91%
stdb_module/disk/insert_1/person/unique/load=0 66.3±4.79µs 14.7 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/unique/load=1000 417.2±43.16µs 396.7±37.39µs -4.91%
stdb_module/disk/insert_bulk/location/multi_index/load=0/count=100 959.3±31.85µs 931.7±59.45µs -2.88%
stdb_module/disk/insert_bulk/location/multi_index/load=1000/count=100 1263.4±98.04µs 1305.0±68.83µs +3.29%
stdb_module/disk/insert_bulk/location/non_unique/load=0/count=100 690.9±23.38µs 660.8±23.73µs -4.36%
stdb_module/disk/insert_bulk/location/non_unique/load=1000/count=100 983.3±19.91µs 949.0±42.18µs -3.49%
stdb_module/disk/insert_bulk/location/unique/load=0/count=100 819.8±36.33µs 797.7±20.40µs -2.70%
stdb_module/disk/insert_bulk/location/unique/load=1000/count=100 1126.3±62.18µs 1035.2±80.31µs -8.09%
stdb_module/disk/insert_bulk/person/multi_index/load=0/count=100 1637.7±19.95µs 1589.3±97.73µs -2.96%
stdb_module/disk/insert_bulk/person/multi_index/load=1000/count=100 2.1±0.06ms 1918.0±65.66µs -8.67%
stdb_module/disk/insert_bulk/person/non_unique/load=0/count=100 903.8±35.73µs 863.1±43.41µs -4.50%
stdb_module/disk/insert_bulk/person/non_unique/load=1000/count=100 1196.5±32.11µs 1098.8±49.86µs -8.17%
stdb_module/disk/insert_bulk/person/unique/load=0/count=100 1220.6±50.95µs 1071.6±23.38µs -12.21%
stdb_module/disk/insert_bulk/person/unique/load=1000/count=100 1546.8±64.74µs 1444.7±62.71µs -6.60%
stdb_module/disk/iterate/location/unique/count=100 178.6±30.05µs 146.5±15.97µs -17.97%
stdb_module/disk/iterate/person/unique/count=100 279.8±3.72µs 233.7±10.62µs -16.48%
stdb_module/large_arguments/64KiB 115.0±3.04µs 113.5±1.18µs -1.30%
stdb_module/mem/empty 33.3±1.17µs 36.2±2.83µs +8.71%
stdb_module/mem/filter/string/indexed/load=1000/count=10 70.0±7.20µs 14.0 KElem/sec N/A N/A
stdb_module/mem/filter/string/non_indexed/load=1000/count=10 154.4±6.11µs 152.2±1.80µs -1.42%
stdb_module/mem/filter/u64/indexed/load=1000/count=10 62.3±5.12µs 15.7 KElem/sec N/A N/A
stdb_module/mem/filter/u64/non_indexed/load=1000/count=10 128.2±6.19µs 127.4±2.94µs -0.62%
stdb_module/mem/find_unique/u32/load=1000 44.8±2.03µs 21.8 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/multi_index/load=0 56.5±4.80µs 17.3 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/multi_index/load=1000 358.2±47.37µs 299.5±18.86µs -16.39%
stdb_module/mem/insert_1/location/non_unique/load=0 52.6±3.70µs 18.6 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/non_unique/load=1000 236.9±25.08µs 231.2±14.80µs -2.41%
stdb_module/mem/insert_1/location/unique/load=0 54.7±4.25µs 17.8 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/unique/load=1000 315.4±20.08µs 284.4±59.64µs -9.83%
stdb_module/mem/insert_1/person/multi_index/load=0 56.7±5.58µs 17.2 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/multi_index/load=1000 456.6±24.46µs 526.2±56.59µs +15.24%
stdb_module/mem/insert_1/person/non_unique/load=0 55.1±5.06µs 17.7 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/non_unique/load=1000 334.3±36.36µs 307.3±22.62µs -8.08%
stdb_module/mem/insert_1/person/unique/load=0 57.5±4.41µs 17.0 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/unique/load=1000 393.8±28.12µs 360.5±30.03µs -8.46%
stdb_module/mem/insert_bulk/location/multi_index/load=0/count=100 799.8±28.65µs 820.2±32.37µs +2.55%
stdb_module/mem/insert_bulk/location/multi_index/load=1000/count=100 1117.9±37.28µs 1045.8±67.72µs -6.45%
stdb_module/mem/insert_bulk/location/non_unique/load=0/count=100 523.8±8.57µs 607.0±55.61µs +15.88%
stdb_module/mem/insert_bulk/location/non_unique/load=1000/count=100 699.8±34.72µs 758.8±40.91µs +8.43%
stdb_module/mem/insert_bulk/location/unique/load=0/count=100 716.8±66.77µs 665.7±16.58µs -7.13%
stdb_module/mem/insert_bulk/location/unique/load=1000/count=100 987.2±30.23µs 997.5±55.94µs +1.04%
stdb_module/mem/insert_bulk/person/multi_index/load=0/count=100 1441.6±40.77µs 1470.3±75.67µs +1.99%
stdb_module/mem/insert_bulk/person/multi_index/load=1000/count=100 1813.5±54.52µs 1851.9±37.19µs +2.12%
stdb_module/mem/insert_bulk/person/non_unique/load=0/count=100 748.2±23.80µs 732.6±10.82µs -2.09%
stdb_module/mem/insert_bulk/person/non_unique/load=1000/count=100 1013.1±27.25µs 1026.6±39.22µs +1.33%
stdb_module/mem/insert_bulk/person/unique/load=0/count=100 975.1±10.12µs 975.6±9.57µs +0.05%
stdb_module/mem/insert_bulk/person/unique/load=1000/count=100 1321.9±47.56µs 1362.0±55.22µs +3.03%
stdb_module/mem/iterate/location/unique/count=100 149.0±2.52µs 144.9±4.51µs -2.75%
stdb_module/mem/iterate/person/unique/count=100 250.2±15.27µs 270.8±16.24µs +8.23%
stdb_module/print_bulk/lines=1 47.1±2.42µs 46.0±2.44µs -2.34%
stdb_module/print_bulk/lines=100 480.0±34.64µs 449.2±19.76µs -6.42%
stdb_module/print_bulk/lines=1000 4.1±0.08ms 4.1±0.06ms 0.00%
stdb_raw/disk/empty 111.5±0.60ns 111.9±0.82ns +0.36%
stdb_raw/disk/filter/string/indexed/load=1000/count=10 2.8±0.06µs 348.7 KElem/sec N/A N/A
stdb_raw/disk/filter/string/non_indexed/load=1000/count=10 104.0±0.54µs 102.2±1.25µs -1.73%
stdb_raw/disk/filter/u64/indexed/load=1000/count=10 2.6±0.06µs 375.4 KElem/sec N/A N/A
stdb_raw/disk/filter/u64/non_indexed/load=1000/count=10 83.2±0.64µs 11.7 KElem/sec N/A N/A
stdb_raw/disk/find_unique/u32/load=1000 608.3±3.17ns 1605.5 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/multi_index/load=0 7.7±0.06µs 126.7 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/multi_index/load=1000 35.7±1.24µs 27.3 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/non_unique/load=0 5.3±0.05µs 184.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/non_unique/load=1000 23.0±0.59µs 42.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/unique/load=0 6.4±0.07µs 152.5 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/unique/load=1000 35.2±60.39µs 27.8 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/multi_index/load=0 12.1±0.14µs 80.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/multi_index/load=1000 35.9±1.88µs 27.2 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/non_unique/load=0 6.1±0.12µs 159.9 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/non_unique/load=1000 19.2±0.93µs 51.0 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/unique/load=0 8.5±0.06µs 114.9 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/unique/load=1000 40.9±122.55µs 23.9 KElem/sec N/A N/A
stdb_raw/disk/insert_bulk/location/multi_index/load=0/count=100 411.2±20.24µs 396.4±2.37µs -3.60%
stdb_raw/disk/insert_bulk/location/multi_index/load=1000/count=100 476.5±11.30µs 465.3±22.60µs -2.35%
stdb_raw/disk/insert_bulk/location/non_unique/load=0/count=100 181.6±4.88µs 179.9±2.13µs -0.94%
stdb_raw/disk/insert_bulk/location/non_unique/load=1000/count=100 208.1±2.85µs 205.7±7.86µs -1.15%
stdb_raw/disk/insert_bulk/location/unique/load=0/count=100 288.3±1.29µs 285.9±5.84µs -0.83%
stdb_raw/disk/insert_bulk/location/unique/load=1000/count=100 355.6±17.84µs 348.7±16.79µs -1.94%
stdb_raw/disk/insert_bulk/person/multi_index/load=0/count=100 810.9±3.22µs 807.3±3.15µs -0.44%
stdb_raw/disk/insert_bulk/person/multi_index/load=1000/count=100 885.6±12.50µs 888.5±35.70µs +0.33%
stdb_raw/disk/insert_bulk/person/non_unique/load=0/count=100 251.2±4.99µs 252.6±2.57µs +0.56%
stdb_raw/disk/insert_bulk/person/non_unique/load=1000/count=100 278.2±18.40µs 277.7±2.32µs -0.18%
stdb_raw/disk/insert_bulk/person/unique/load=0/count=100 464.7±3.82µs 463.8±16.76µs -0.19%
stdb_raw/disk/insert_bulk/person/unique/load=1000/count=100 525.3±14.43µs 522.0±4.86µs -0.63%
stdb_raw/disk/iterate/location/unique/count=100 7.4±0.07µs 131.2 KElem/sec N/A N/A
stdb_raw/disk/iterate/person/unique/count=100 8.8±0.10µs 110.8 KElem/sec N/A N/A
stdb_raw/mem/empty 111.3±0.44ns 111.9±0.47ns +0.54%
stdb_raw/mem/filter/string/indexed/load=1000/count=10 2.8±0.02µs 349.5 KElem/sec N/A N/A
stdb_raw/mem/filter/string/non_indexed/load=1000/count=10 103.0±0.55µs 101.7±0.51µs -1.26%
stdb_raw/mem/filter/u64/indexed/load=1000/count=10 2.6±0.08µs 371.5 KElem/sec N/A N/A
stdb_raw/mem/filter/u64/non_indexed/load=1000/count=10 82.9±0.39µs 11.8 KElem/sec N/A N/A
stdb_raw/mem/find_unique/u32/load=1000 608.4±2.44ns 1605.1 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/multi_index/load=0 5.3±0.03µs 182.8 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/multi_index/load=1000 28.1±0.91µs 34.7 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/non_unique/load=0 3.0±0.05µs 323.8 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/non_unique/load=1000 18.1±0.47µs 53.9 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/unique/load=0 3.8±0.03µs 259.2 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/unique/load=1000 24.6±0.54µs 39.6 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/multi_index/load=0 9.7±0.26µs 100.6 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/multi_index/load=1000 28.1±2.08µs 34.8 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/non_unique/load=0 3.5±0.03µs 278.4 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/non_unique/load=1000 12.7±0.62µs 77.2 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/unique/load=0 5.7±0.03µs 171.2 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/unique/load=1000 19.9±0.89µs 49.1 KElem/sec N/A N/A
stdb_raw/mem/insert_bulk/location/multi_index/load=0/count=100 411.3±10.00µs 396.0±2.20µs -3.72%
stdb_raw/mem/insert_bulk/location/multi_index/load=1000/count=100 475.5±86.37µs 451.2±11.80µs -5.11%
stdb_raw/mem/insert_bulk/location/non_unique/load=0/count=100 177.8±1.97µs 173.6±1.53µs -2.36%
stdb_raw/mem/insert_bulk/location/non_unique/load=1000/count=100 200.6±1.66µs 199.7±1.83µs -0.45%
stdb_raw/mem/insert_bulk/location/unique/load=0/count=100 287.0±1.67µs 281.2±2.37µs -2.02%
stdb_raw/mem/insert_bulk/location/unique/load=1000/count=100 347.1±10.71µs 334.3±2.63µs -3.69%
stdb_raw/mem/insert_bulk/person/multi_index/load=0/count=100 811.9±22.30µs 802.0±24.36µs -1.22%
stdb_raw/mem/insert_bulk/person/multi_index/load=1000/count=100 880.6±13.71µs 868.6±9.71µs -1.36%
stdb_raw/mem/insert_bulk/person/non_unique/load=0/count=100 247.3±3.88µs 247.1±7.53µs -0.08%
stdb_raw/mem/insert_bulk/person/non_unique/load=1000/count=100 267.3±3.97µs 267.9±2.90µs +0.22%
stdb_raw/mem/insert_bulk/person/unique/load=0/count=100 465.7±2.50µs 457.5±4.60µs -1.76%
stdb_raw/mem/insert_bulk/person/unique/load=1000/count=100 514.3±4.07µs 505.7±5.13µs -1.67%
stdb_raw/mem/iterate/location/unique/count=100 7.5±0.16µs 130.3 KElem/sec N/A N/A
stdb_raw/mem/iterate/person/unique/count=100 8.8±0.26µs 111.2 KElem/sec N/A N/A

Please sign in to comment.