Effect of replacing RMW with W in optimistic lock write unlock - laurynas-biveinis/unodb GitHub Wiki
Statistically significant speedups >= 1% (negative means slowdowns)
Key prefix
unpredictable_leaf_key_prefix_split<unodb::olc_db>
: 1%unpredictable_cut_key_prefix<unodb::olc_db>
: 3%
N4
full_n4_sequential_insert<unodb::olc_db>/100
: 1%full_n4_random_insert<unodb::olc_db>/65535
: 1%minimal_n4_sequential_insert<unodb::olc_db>/16
: 2%minimal_n4_sequential_insert<unodb::olc_db>/64
: 1%minimal_n4_sequential_insert<unodb::olc_db>/255
: 1%minimal_n4_random_insert<unodb::olc_db>/16
: 1%minimal_n4_random_insert<unodb::olc_db>/64
: 1%minimal_n4_random_insert<unodb::olc_db>/255
: 1%full_n4_sequential_delete<unodb::olc_db>/4096
: -1%full_n4_random_deletes<unodb::olc_db>/65534
: 1%full_n4_to_minimal_random_delete<unodb::olc_db>/100
: -1%full_n4_to_minimal_random_delete<unodb::olc_db>/512
: -1%full_n4_to_minimal_random_delete<unodb::olc_db>/4096
: -1%shrink_node16_to_n4_randomly<unodb::olc_db>/512
: 1%
N16
grow_n4_to_n16_randomly<unodb::olc_db>/512
: -1%n16_sequential_add<unodb::olc_db>/10
: 2%n16_sequential_add<unodb::olc_db>/64
: 1%n16_sequential_add<unodb::olc_db>/4096
: 1%n16_random_add<unodb::olc_db>/10
: 2%n16_random_add<unodb::olc_db>/4096
: 1%minimal_n16_tree_full_scan<unodb::olc_db>/10
: 2%minimal_n16_tree_full_scan<unodb::olc_db>/64
: 2%minimal_n16_tree_full_scan<unodb::olc_db>/512
: 1%minimal_n16_tree_full_scan<unodb::olc_db>/4096
: 2%minimal_n16_tree_full_scan<unodb::olc_db>/16383
: 2%full_n16_tree_full_scan<unodb::olc_db>/64
: 2%full_n16_tree_full_scan<unodb::olc_db>/512
: 2%full_n16_tree_full_scan<unodb::olc_db>/4096
: 3%full_n16_tree_full_scan<unodb::olc_db>/32768
: 1%full_n16_tree_sequential_delete<unodb::olc_db>/64
: 1%full_n16_tree_sequential_delete<unodb::olc_db>/512
: 2%full_n16_tree_sequential_delete<unodb::olc_db>/32768
: 2%full_n16_tree_sequential_delete<unodb::olc_db>/246000
: 2%full_n16_tree_random_delete<unodb::olc_db>/64
: 1%full_n16_tree_random_delete<unodb::olc_db>/512
: 1%full_n16_tree_random_delete<unodb::olc_db>/4096
: 1%full_n16_tree_random_delete<unodb::olc_db>/32768
: 2%full_n16_tree_random_delete<unodb::olc_db>/246000
: 2%shrink_n48_to_n16_sequentially<unodb::olc_db>/4
: 1%shrink_n48_to_n16_sequentially<unodb::olc_db>/8
: 2%shrink_n48_to_n16_sequentially<unodb::olc_db>/64
: 2%shrink_n48_to_n16_sequentially<unodb::olc_db>/512
: 1%shrink_n48_to_n16_sequentially<unodb::olc_db>/4096
: 1%shrink_n48_to_n16_sequentially<unodb::olc_db>/16383
: 2%shrink_n48_to_n16_randomly<unodb::olc_db>/64
: 2%shrink_n48_to_n16_randomly<unodb::olc_db>/512
: 1%shrink_n48_to_n16_randomly<unodb::olc_db>/4096
: 2%shrink_n48_to_n16_randomly<unodb::olc_db>/16383
: 2%
### N48
grow_n16_to_n48_sequentially<unodb::olc_db>/8
: 1%grow_n16_to_n48_randomly<unodb::olc_db>/64
: 1%grow_n16_to_n48_randomly<unodb::olc_db>/8192
: 1%n48_random_add<unodb::olc_db>/2
: -1%n48_random_add<unodb::olc_db>/8
: 1%n48_random_add<unodb::olc_db>/64
: 1%n48_random_add<unodb::olc_db>/512
: 2%n48_random_add<unodb::olc_db>/4096
: 2%minimal_n48_tree_full_scan<unodb::olc_db>/8
: -1%full_n48_tree_sequential_delete<unodb::olc_db>/192
: 1%full_n48_tree_sequential_delete<unodb::olc_db>/4096
: -1%full_n48_tree_sequential_delete<unodb::olc_db>/196608
: -1%full_n48_tree_random_delete<unodb::olc_db>/192
: 1%full_n48_tree_random_delete<unodb::olc_db>/512
: 2%full_n48_tree_random_delete<unodb::olc_db>/32768
: 2%full_n48_tree_random_delete<unodb::olc_db>/196608
: 1%shrink_n256_to_n48_sequentially<unodb::olc_db>/4
: 1%shrink_n256_to_n48_sequentially<unodb::olc_db>/8
: 1%shrink_n256_to_n48_randomly<unodb::olc_db>/64
: -1%
N256
grow_n48_to_n256_randomly<unodb::olc_db>/8
: 1%grow_n48_to_n256_randomly<unodb::olc_db>/64
: -1%n256_random_add<unodb::olc_db>/8
: 1%n256_random_add<unodb::olc_db>/64
: -1%full_n256_tree_full_scan<unodb::olc_db>/512
: -1%full_n256_tree_sequential_delete<unodb::olc_db>/192
: 1%full_n256_tree_sequential_delete<unodb::olc_db>/4096
: 1%full_n256_tree_sequential_delete<unodb::olc_db>/32768
: 2%full_n256_tree_sequential_delete<unodb::olc_db>/196608
: 2%full_n256_tree_random_delete<unodb::olc_db>/192
: 1%full_n256_tree_random_delete<unodb::olc_db>/4096
: 1%full_n256_tree_random_delete<unodb::olc_db>/32768
: 2%full_n256_tree_random_delete<unodb::olc_db>/196608
: 3%