Effect of removing node type check before growing inode - laurynas-biveinis/unodb GitHub Wiki

Baseline commit, patch

Filtering for (grow|add).*unodb::db and insert.*unodb::db:

  • micro_benchmark_n4: 0% to 4% speedup (minimal_n4_sequential_insert<unodb::db>/16)
  • micro_benchmark_n16: 1% slowdown (n16_sequential_add<unodb::db>/16383) to 17% speedup (n16_sequential_add<unodb::db>/4096)
  • micro_benchmark_n48: 2% slowdown (n48_random_add<unodb::db>/2) to 2% speedup (n48_random_add<unodb::db>/4096)
  • micro_benchmark_n256: 3% slowdown (grow_n48_to_n256_sequentially<unodb::db>/2) to 4% speedup (n256_sequential_add<unodb::db>/1)

Filtering for insert.*unodb::olc_db and (grow|add).*unodb::olc_db:

  • micro_benchmark_n4: 1% slowdown (full_n4_sequential_insert<unodb::olc_db>/512) to 1% speedup (full_n4_random_insert<unodb::olc_db>/32768)
  • micro_benchmark_n16: 7% slowdown (n16_sequential_add<unodb::olc_db>/4096) to 0%
  • micro_benchmark_n48: 0% to 8% speedup (n48_random_add<unodb::olc_db>/512)
  • micro_benchmark_n256: 3% slowdown (n256_sequential_add<unodb::olc_db>/1) to 6% speedup (grow_n48_to_n256_randomly<unodb::olc_db>/512)
⚠️ **GitHub.com Fallback** ⚠️