Skip to content

Commit

Permalink
Fix derive(Deserialize) on void enum (#330)
Browse files Browse the repository at this point in the history
* Fix derive(Deserialize) on void enum

* Also fix derive(Serialize) for empty enums; remove empty reducers from tests

---------

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
  • Loading branch information
coolreader18 and gefjon authored Sep 30, 2023
1 parent 905da73 commit d8395fe
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 18 deletions.
7 changes: 5 additions & 2 deletions crates/bindings-macro/src/module.rs
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ pub(crate) fn derive_deserialize(ty: &SatsType<'_>) -> TokenStream {
type Output = __Variant;

fn variant_names(&self, names: &mut dyn #spacetimedb_lib::de::ValidNames) {
names.extend([#(#variant_names,)*])
names.extend::<&[&str]>(&[#(#variant_names,)*])
}

fn visit_tag<E: #spacetimedb_lib::de::Error>(self, __tag: u8) -> Result<Self::Output, E> {
Expand Down Expand Up @@ -394,7 +394,10 @@ pub(crate) fn derive_serialize(ty: &SatsType) -> TokenStream {
}
}
});
quote!(match self { #(#arms)* })
quote!(match self {
#(#arms)*
_ => unreachable!(),
})
}
};
quote! {
Expand Down
8 changes: 0 additions & 8 deletions modules/sdk-test-connect-disconnect-cs/Lib.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,4 @@ public static void Init()
new Disconnected { identity = e.Sender }.Insert();
};
}

[SpacetimeDB.Reducer]
/// Due to a bug in SATS' `derive(Desrialize)`
/// https://github.com/clockworklabs/SpacetimeDB/issues/325 ,
/// Rust module bindings fail to compile for modules which define zero reducers
/// (not counting init, update, connect, disconnect).
/// Adding this useless empty reducer causes the module bindings to compile.
public static void UselessEmptyReducer() {}
}
8 changes: 0 additions & 8 deletions modules/sdk-test-connect-disconnect/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,3 @@ pub fn identity_connected(ctx: ReducerContext) {
pub fn identity_disconnected(ctx: ReducerContext) {
Disconnected::insert(Disconnected { identity: ctx.sender });
}

#[spacetimedb(reducer)]
/// Due to a bug in SATS' `derive(Desrialize)`
/// https://github.com/clockworklabs/SpacetimeDB/issues/325 ,
/// Rust module bindings fail to compile for modules which define zero reducers
/// (not counting init, update, connect, disconnect).
/// Adding this useless empty reducer causes the module bindings to compile.
pub fn useless_empty_reducer() {}

1 comment on commit d8395fe

@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 d8395fe

Click to view benchmark
Test Base PR %
serialize/location/bsatn/count=100 2.1±0.02µs 46.0 MElem/sec N/A N/A
serialize/location/json/count=100 3.1±0.02µs 30.3 MElem/sec N/A N/A
serialize/location/product_value/count=100 1982.4±31.45ns 48.1 MElem/sec N/A N/A
serialize/person/bsatn/count=100 2.7±0.03µs 35.8 MElem/sec N/A N/A
serialize/person/json/count=100 4.2±0.02µs 22.7 MElem/sec N/A N/A
serialize/person/product_value/count=100 1277.8±7.71ns 74.6 MElem/sec N/A N/A
sqlite/disk/empty 420.2±1.00ns 411.5±5.60ns -2.07%
sqlite/disk/filter/string/indexed/load=1000/count=10 5.9±0.04µs 166.0 KElem/sec N/A N/A
sqlite/disk/filter/string/non_indexed/load=1000/count=10 52.4±0.10µs 18.6 KElem/sec N/A N/A
sqlite/disk/filter/u64/indexed/load=1000/count=10 5.8±0.04µs 169.1 KElem/sec N/A N/A
sqlite/disk/filter/u64/non_indexed/load=1000/count=10 39.8±0.08µs 24.5 KElem/sec N/A N/A
sqlite/disk/find_unique/u32/load=1000 2.8±0.02µs 347.6 KElem/sec N/A N/A
sqlite/disk/insert_1/location/multi_index/load=0 21.3±0.22µs 45.8 KElem/sec N/A N/A
sqlite/disk/insert_1/location/multi_index/load=1000 23.8±0.32µs 41.0 KElem/sec N/A N/A
sqlite/disk/insert_1/location/non_unique/load=0 10.1±0.10µs 96.6 KElem/sec N/A N/A
sqlite/disk/insert_1/location/non_unique/load=1000 10.2±0.15µs 95.6 KElem/sec N/A N/A
sqlite/disk/insert_1/location/unique/load=0 10.1±0.11µs 96.4 KElem/sec N/A N/A
sqlite/disk/insert_1/location/unique/load=1000 10.4±0.28µs 93.8 KElem/sec N/A N/A
sqlite/disk/insert_1/person/multi_index/load=0 21.2±0.18µs 46.1 KElem/sec N/A N/A
sqlite/disk/insert_1/person/multi_index/load=1000 24.3±0.39µs 40.2 KElem/sec N/A N/A
sqlite/disk/insert_1/person/non_unique/load=0 10.1±0.09µs 96.7 KElem/sec N/A N/A
sqlite/disk/insert_1/person/non_unique/load=1000 10.4±0.15µs 94.2 KElem/sec N/A N/A
sqlite/disk/insert_1/person/unique/load=0 10.2±0.10µs 96.1 KElem/sec N/A N/A
sqlite/disk/insert_1/person/unique/load=1000 10.4±0.15µs 93.9 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/multi_index/load=0/count=100 123.7±0.86µs 133.5±0.48µs +7.92%
sqlite/disk/insert_bulk/location/multi_index/load=1000/count=100 220.3±7.25µs 228.8±6.29µs +3.86%
sqlite/disk/insert_bulk/location/non_unique/load=0/count=100 42.1±0.44µs 23.2 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/non_unique/load=1000/count=100 46.1±0.23µs 21.2 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/unique/load=0/count=100 45.0±0.31µs 21.7 KElem/sec N/A N/A
sqlite/disk/insert_bulk/location/unique/load=1000/count=100 51.2±0.35µs 19.1 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/multi_index/load=0/count=100 108.0±3.28µs 118.8±0.54µs +10.00%
sqlite/disk/insert_bulk/person/multi_index/load=1000/count=100 252.1±1.49µs 260.6±1.78µs +3.37%
sqlite/disk/insert_bulk/person/non_unique/load=0/count=100 42.2±0.30µs 23.1 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/non_unique/load=1000/count=100 61.7±0.38µs 15.8 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/unique/load=0/count=100 45.8±0.51µs 21.3 KElem/sec N/A N/A
sqlite/disk/insert_bulk/person/unique/load=1000/count=100 52.1±0.31µs 18.8 KElem/sec N/A N/A
sqlite/disk/iterate/location/unique/count=100 8.9±0.16µs 109.9 KElem/sec N/A N/A
sqlite/disk/iterate/person/unique/count=100 9.0±0.09µs 108.4 KElem/sec N/A N/A
sqlite/mem/empty 422.0±5.37ns 415.2±1.56ns -1.61%
sqlite/mem/filter/string/indexed/load=1000/count=10 3.8±0.03µs 254.1 KElem/sec N/A N/A
sqlite/mem/filter/string/non_indexed/load=1000/count=10 49.6±0.42µs 19.7 KElem/sec N/A N/A
sqlite/mem/filter/u64/indexed/load=1000/count=10 3.8±0.03µs 259.6 KElem/sec N/A N/A
sqlite/mem/filter/u64/non_indexed/load=1000/count=10 38.0±0.18µs 25.7 KElem/sec N/A N/A
sqlite/mem/find_unique/u32/load=1000 1018.0±1.47ns 959.3 KElem/sec N/A N/A
sqlite/mem/insert_1/location/multi_index/load=0 4.0±0.02µs 241.6 KElem/sec N/A N/A
sqlite/mem/insert_1/location/multi_index/load=1000 4.9±0.06µs 201.3 KElem/sec N/A N/A
sqlite/mem/insert_1/location/non_unique/load=0 1694.6±16.32ns 576.3 KElem/sec N/A N/A
sqlite/mem/insert_1/location/non_unique/load=1000 1830.0±31.08ns 533.6 KElem/sec N/A N/A
sqlite/mem/insert_1/location/unique/load=0 1678.5±20.95ns 581.8 KElem/sec N/A N/A
sqlite/mem/insert_1/location/unique/load=1000 1877.2±106.46ns 520.2 KElem/sec N/A N/A
sqlite/mem/insert_1/person/multi_index/load=0 3.8±0.01µs 259.0 KElem/sec N/A N/A
sqlite/mem/insert_1/person/multi_index/load=1000 5.2±0.10µs 186.9 KElem/sec N/A N/A
sqlite/mem/insert_1/person/non_unique/load=0 1679.3±26.07ns 581.5 KElem/sec N/A N/A
sqlite/mem/insert_1/person/non_unique/load=1000 1807.1±17.80ns 540.4 KElem/sec N/A N/A
sqlite/mem/insert_1/person/unique/load=0 1665.2±32.68ns 586.5 KElem/sec N/A N/A
sqlite/mem/insert_1/person/unique/load=1000 1885.7±28.48ns 517.9 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/multi_index/load=0/count=100 103.5±0.85µs 113.8±0.36µs +9.95%
sqlite/mem/insert_bulk/location/multi_index/load=1000/count=100 160.1±1.16µs 170.4±1.03µs +6.43%
sqlite/mem/insert_bulk/location/non_unique/load=0/count=100 32.7±0.08µs 29.9 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/non_unique/load=1000/count=100 35.7±1.12µs 27.4 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/unique/load=0/count=100 35.7±0.92µs 27.4 KElem/sec N/A N/A
sqlite/mem/insert_bulk/location/unique/load=1000/count=100 40.1±0.26µs 24.3 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/multi_index/load=0/count=100 88.4±1.11µs 11.1 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/multi_index/load=1000/count=100 176.6±2.44µs 185.6±1.59µs +5.10%
sqlite/mem/insert_bulk/person/non_unique/load=0/count=100 33.1±0.34µs 29.5 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/non_unique/load=1000/count=100 38.7±0.31µs 25.2 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/unique/load=0/count=100 36.5±0.67µs 26.8 KElem/sec N/A N/A
sqlite/mem/insert_bulk/person/unique/load=1000/count=100 41.4±0.32µs 23.6 KElem/sec N/A N/A
sqlite/mem/iterate/location/unique/count=100 6.9±0.03µs 142.3 KElem/sec N/A N/A
sqlite/mem/iterate/person/unique/count=100 7.1±0.04µs 137.3 KElem/sec N/A N/A
stdb_module/disk/empty 27.5±1.10µs 26.1±1.15µs -5.09%
stdb_module/disk/filter/string/indexed/load=1000/count=10 59.2±4.54µs 16.5 KElem/sec N/A N/A
stdb_module/disk/filter/string/non_indexed/load=1000/count=10 143.2±12.39µs 140.6±8.46µs -1.82%
stdb_module/disk/filter/u64/indexed/load=1000/count=10 45.5±3.68µs 21.4 KElem/sec N/A N/A
stdb_module/disk/filter/u64/non_indexed/load=1000/count=10 121.3±3.08µs 120.2±14.58µs -0.91%
stdb_module/disk/find_unique/u32/load=1000 33.3±2.29µs 29.4 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/multi_index/load=0 47.7±4.02µs 20.5 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/multi_index/load=1000 334.3±46.73µs 347.6±32.00µs +3.98%
stdb_module/disk/insert_1/location/non_unique/load=0 43.3±3.39µs 22.6 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/non_unique/load=1000 258.1±20.71µs 245.4±27.05µs -4.92%
stdb_module/disk/insert_1/location/unique/load=0 45.9±3.18µs 21.3 KElem/sec N/A N/A
stdb_module/disk/insert_1/location/unique/load=1000 302.4±12.05µs 270.0±45.10µs -10.71%
stdb_module/disk/insert_1/person/multi_index/load=0 55.3±4.89µs 17.7 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/multi_index/load=1000 640.7±78.86µs 605.5±85.52µs -5.49%
stdb_module/disk/insert_1/person/non_unique/load=0 45.7±3.70µs 21.4 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/non_unique/load=1000 315.9±51.19µs 302.3±33.70µs -4.31%
stdb_module/disk/insert_1/person/unique/load=0 50.5±4.00µs 19.3 KElem/sec N/A N/A
stdb_module/disk/insert_1/person/unique/load=1000 337.2±58.23µs 336.0±53.32µs -0.36%
stdb_module/disk/insert_bulk/location/multi_index/load=0/count=100 842.8±12.00µs 830.0±10.00µs -1.52%
stdb_module/disk/insert_bulk/location/multi_index/load=1000/count=100 1091.0±65.47µs 1095.5±20.63µs +0.41%
stdb_module/disk/insert_bulk/location/non_unique/load=0/count=100 596.3±10.28µs 616.9±24.03µs +3.45%
stdb_module/disk/insert_bulk/location/non_unique/load=1000/count=100 796.5±17.40µs 794.6±22.28µs -0.24%
stdb_module/disk/insert_bulk/location/unique/load=0/count=100 719.9±14.95µs 715.4±14.43µs -0.63%
stdb_module/disk/insert_bulk/location/unique/load=1000/count=100 989.8±33.39µs 999.2±532.56µs +0.95%
stdb_module/disk/insert_bulk/person/multi_index/load=0/count=100 1384.4±21.44µs 1368.6±20.00µs -1.14%
stdb_module/disk/insert_bulk/person/multi_index/load=1000/count=100 1901.5±89.56µs 1894.0±54.18µs -0.39%
stdb_module/disk/insert_bulk/person/non_unique/load=0/count=100 784.0±23.18µs 798.2±14.66µs +1.81%
stdb_module/disk/insert_bulk/person/non_unique/load=1000/count=100 1041.4±24.09µs 1048.7±30.99µs +0.70%
stdb_module/disk/insert_bulk/person/unique/load=0/count=100 1019.9±12.25µs 1003.9±18.71µs -1.57%
stdb_module/disk/insert_bulk/person/unique/load=1000/count=100 1291.6±64.96µs 1285.1±58.04µs -0.50%
stdb_module/disk/iterate/location/unique/count=100 161.8±10.55µs 158.3±10.13µs -2.16%
stdb_module/disk/iterate/person/unique/count=100 257.9±11.79µs 262.1±16.00µs +1.63%
stdb_module/large_arguments/64KiB 109.9±1.64µs 108.8±3.80µs -1.00%
stdb_module/mem/empty 27.2±2.04µs 27.5±1.28µs +1.10%
stdb_module/mem/filter/string/indexed/load=1000/count=10 57.8±9.96µs 16.9 KElem/sec N/A N/A
stdb_module/mem/filter/string/non_indexed/load=1000/count=10 147.9±10.42µs 139.1±9.76µs -5.95%
stdb_module/mem/filter/u64/indexed/load=1000/count=10 48.0±2.55µs 20.3 KElem/sec N/A N/A
stdb_module/mem/filter/u64/non_indexed/load=1000/count=10 119.6±7.46µs 115.3±6.57µs -3.60%
stdb_module/mem/find_unique/u32/load=1000 31.9±1.60µs 30.7 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/multi_index/load=0 44.9±3.50µs 21.8 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/multi_index/load=1000 247.9±32.77µs 243.9±15.52µs -1.61%
stdb_module/mem/insert_1/location/non_unique/load=0 39.5±3.14µs 24.7 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/non_unique/load=1000 204.0±20.93µs 186.1±10.06µs -8.77%
stdb_module/mem/insert_1/location/unique/load=0 41.6±1.73µs 23.5 KElem/sec N/A N/A
stdb_module/mem/insert_1/location/unique/load=1000 230.5±20.02µs 221.3±14.07µs -3.99%
stdb_module/mem/insert_1/person/multi_index/load=0 48.6±5.99µs 20.1 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/multi_index/load=1000 514.4±107.95µs 556.2±76.26µs +8.13%
stdb_module/mem/insert_1/person/non_unique/load=0 43.4±3.65µs 22.5 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/non_unique/load=1000 264.6±31.07µs 244.9±22.87µs -7.45%
stdb_module/mem/insert_1/person/unique/load=0 43.2±1.91µs 22.6 KElem/sec N/A N/A
stdb_module/mem/insert_1/person/unique/load=1000 295.4±59.37µs 281.9±45.28µs -4.57%
stdb_module/mem/insert_bulk/location/multi_index/load=0/count=100 791.1±62.34µs 765.9±15.11µs -3.19%
stdb_module/mem/insert_bulk/location/multi_index/load=1000/count=100 961.7±33.79µs 991.7±36.92µs +3.12%
stdb_module/mem/insert_bulk/location/non_unique/load=0/count=100 529.7±15.50µs 543.5±22.20µs +2.61%
stdb_module/mem/insert_bulk/location/non_unique/load=1000/count=100 669.8±32.13µs 658.7±14.21µs -1.66%
stdb_module/mem/insert_bulk/location/unique/load=0/count=100 647.7±20.04µs 646.5±21.53µs -0.19%
stdb_module/mem/insert_bulk/location/unique/load=1000/count=100 821.5±30.44µs 823.0±24.61µs +0.18%
stdb_module/mem/insert_bulk/person/multi_index/load=0/count=100 1268.5±16.88µs 1269.8±11.32µs +0.10%
stdb_module/mem/insert_bulk/person/multi_index/load=1000/count=100 1779.2±55.60µs 1769.6±80.57µs -0.54%
stdb_module/mem/insert_bulk/person/non_unique/load=0/count=100 743.6±19.35µs 729.7±7.69µs -1.87%
stdb_module/mem/insert_bulk/person/non_unique/load=1000/count=100 882.4±43.93µs 939.6±21.15µs +6.48%
stdb_module/mem/insert_bulk/person/unique/load=0/count=100 933.5±4.56µs 948.9±29.56µs +1.65%
stdb_module/mem/insert_bulk/person/unique/load=1000/count=100 1178.2±47.64µs 1197.1±30.91µs +1.60%
stdb_module/mem/iterate/location/unique/count=100 156.5±2.17µs 154.5±4.96µs -1.28%
stdb_module/mem/iterate/person/unique/count=100 262.3±7.61µs 252.2±5.10µs -3.85%
stdb_module/print_bulk/lines=1 36.3±2.56µs 34.7±1.74µs -4.41%
stdb_module/print_bulk/lines=100 424.9±6.86µs 420.5±12.64µs -1.04%
stdb_module/print_bulk/lines=1000 3.8±0.17ms 3.9±0.12ms +2.63%
stdb_raw/disk/empty 99.4±0.45ns 99.8±0.40ns +0.40%
stdb_raw/disk/filter/string/indexed/load=1000/count=10 2.4±0.01µs 414.0 KElem/sec N/A N/A
stdb_raw/disk/filter/string/non_indexed/load=1000/count=10 90.3±1.29µs 10.8 KElem/sec N/A N/A
stdb_raw/disk/filter/u64/indexed/load=1000/count=10 2.2±0.00µs 444.1 KElem/sec N/A N/A
stdb_raw/disk/filter/u64/non_indexed/load=1000/count=10 71.5±0.31µs 13.7 KElem/sec N/A N/A
stdb_raw/disk/find_unique/u32/load=1000 537.9±16.88ns 1815.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/multi_index/load=0 6.9±0.05µs 141.2 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/multi_index/load=1000 32.6±1.33µs 29.9 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/non_unique/load=0 4.7±0.02µs 206.9 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/non_unique/load=1000 20.8±0.38µs 47.0 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/unique/load=0 5.7±0.02µs 171.5 KElem/sec N/A N/A
stdb_raw/disk/insert_1/location/unique/load=1000 26.0±0.53µs 37.6 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/multi_index/load=0 10.8±0.06µs 90.0 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/multi_index/load=1000 30.6±1.63µs 31.9 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/non_unique/load=0 5.5±0.08µs 179.2 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/non_unique/load=1000 16.4±0.33µs 59.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/unique/load=0 7.5±0.03µs 129.4 KElem/sec N/A N/A
stdb_raw/disk/insert_1/person/unique/load=1000 25.4±0.61µs 38.4 KElem/sec N/A N/A
stdb_raw/disk/insert_bulk/location/multi_index/load=0/count=100 348.6±1.07µs 337.3±4.24µs -3.24%
stdb_raw/disk/insert_bulk/location/multi_index/load=1000/count=100 416.3±8.82µs 403.6±5.41µs -3.05%
stdb_raw/disk/insert_bulk/location/non_unique/load=0/count=100 153.6±2.24µs 158.7±1.09µs +3.32%
stdb_raw/disk/insert_bulk/location/non_unique/load=1000/count=100 178.8±2.65µs 183.7±4.18µs +2.74%
stdb_raw/disk/insert_bulk/location/unique/load=0/count=100 252.1±3.19µs 241.4±1.67µs -4.24%
stdb_raw/disk/insert_bulk/location/unique/load=1000/count=100 308.9±10.39µs 299.6±6.37µs -3.01%
stdb_raw/disk/insert_bulk/person/multi_index/load=0/count=100 705.4±6.62µs 700.9±2.48µs -0.64%
stdb_raw/disk/insert_bulk/person/multi_index/load=1000/count=100 794.7±5.91µs 781.8±9.02µs -1.62%
stdb_raw/disk/insert_bulk/person/non_unique/load=0/count=100 212.1±1.02µs 215.9±1.12µs +1.79%
stdb_raw/disk/insert_bulk/person/non_unique/load=1000/count=100 242.4±1.50µs 247.7±1.60µs +2.19%
stdb_raw/disk/insert_bulk/person/unique/load=0/count=100 406.0±9.45µs 406.7±6.92µs +0.17%
stdb_raw/disk/insert_bulk/person/unique/load=1000/count=100 465.4±4.09µs 466.9±2.12µs +0.32%
stdb_raw/disk/iterate/location/unique/count=100 6.5±0.03µs 151.0 KElem/sec N/A N/A
stdb_raw/disk/iterate/person/unique/count=100 7.5±0.06µs 129.7 KElem/sec N/A N/A
stdb_raw/mem/empty 99.5±1.59ns 104.9±1.13ns +5.43%
stdb_raw/mem/filter/string/indexed/load=1000/count=10 2.4±0.02µs 413.2 KElem/sec N/A N/A
stdb_raw/mem/filter/string/non_indexed/load=1000/count=10 88.1±0.35µs 11.1 KElem/sec N/A N/A
stdb_raw/mem/filter/u64/indexed/load=1000/count=10 2.2±0.03µs 440.9 KElem/sec N/A N/A
stdb_raw/mem/filter/u64/non_indexed/load=1000/count=10 73.9±0.32µs 13.2 KElem/sec N/A N/A
stdb_raw/mem/find_unique/u32/load=1000 541.2±15.74ns 1804.6 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/multi_index/load=0 4.8±0.09µs 205.4 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/multi_index/load=1000 26.6±1.03µs 36.8 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/non_unique/load=0 2.6±0.04µs 375.8 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/non_unique/load=1000 19.0±0.36µs 51.5 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/unique/load=0 3.5±0.04µs 275.4 KElem/sec N/A N/A
stdb_raw/mem/insert_1/location/unique/load=1000 23.5±0.32µs 41.6 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/multi_index/load=0 8.5±0.02µs 114.7 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/multi_index/load=1000 25.5±1.77µs 38.4 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/non_unique/load=0 3.2±0.02µs 300.7 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/non_unique/load=1000 13.9±0.26µs 70.2 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/unique/load=0 5.3±0.03µs 184.3 KElem/sec N/A N/A
stdb_raw/mem/insert_1/person/unique/load=1000 20.2±0.84µs 48.2 KElem/sec N/A N/A
stdb_raw/mem/insert_bulk/location/multi_index/load=0/count=100 355.0±2.70µs 343.2±6.21µs -3.32%
stdb_raw/mem/insert_bulk/location/multi_index/load=1000/count=100 408.3±3.42µs 389.5±1.31µs -4.60%
stdb_raw/mem/insert_bulk/location/non_unique/load=0/count=100 149.6±0.78µs 152.4±1.32µs +1.87%
stdb_raw/mem/insert_bulk/location/non_unique/load=1000/count=100 174.5±1.93µs 173.9±1.03µs -0.34%
stdb_raw/mem/insert_bulk/location/unique/load=0/count=100 252.1±2.38µs 241.7±1.62µs -4.13%
stdb_raw/mem/insert_bulk/location/unique/load=1000/count=100 302.1±8.24µs 288.1±6.20µs -4.63%
stdb_raw/mem/insert_bulk/person/multi_index/load=0/count=100 694.8±3.45µs 686.7±4.19µs -1.17%
stdb_raw/mem/insert_bulk/person/multi_index/load=1000/count=100 780.7±3.66µs 772.5±5.96µs -1.05%
stdb_raw/mem/insert_bulk/person/non_unique/load=0/count=100 206.9±3.14µs 209.6±2.98µs +1.30%
stdb_raw/mem/insert_bulk/person/non_unique/load=1000/count=100 236.8±2.08µs 240.4±5.69µs +1.52%
stdb_raw/mem/insert_bulk/person/unique/load=0/count=100 394.9±1.51µs 395.0±1.03µs +0.03%
stdb_raw/mem/insert_bulk/person/unique/load=1000/count=100 460.0±6.44µs 456.9±2.65µs -0.67%
stdb_raw/mem/iterate/location/unique/count=100 6.7±0.12µs 145.9 KElem/sec N/A N/A
stdb_raw/mem/iterate/person/unique/count=100 7.5±0.04µs 130.7 KElem/sec N/A N/A

Please sign in to comment.