From 4139b390824cce43beb6b2e38074f6b4a90b35b5 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 1 Apr 2026 20:12:46 +0200 Subject: [PATCH 01/18] perf: make use of node cache in insert & remove --- benchmarks/btreemap/canbench_results.yml | 460 +++++++++++------------ src/btreemap.rs | 56 +-- 2 files changed, 263 insertions(+), 253 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 9af9c9a6..01973afc 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,1113 +2,1113 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 18483721 + instructions: 16632877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 898074463 + instructions: 899307877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 286876333 + instructions: 284700603 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 280845034 + instructions: 278400263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 240212893 + instructions: 238994959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 189757294 + instructions: 190983875 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 248326038 + instructions: 249140887 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 169813378 + instructions: 170544475 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 293090409 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 293090409 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 352584649 + instructions: 456720353 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 100509231 + instructions: 98268585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 255015339 + instructions: 260187771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 106205810 + instructions: 104395918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55702017 + instructions: 55864895 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31523019 + instructions: 31506093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 84894284 + instructions: 88705647 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38655866 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38655866 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2324488694 + instructions: 2337115052 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 264853978 + instructions: 263003134 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 205954574 + instructions: 206296022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2973112544 + instructions: 2976312306 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 575786182 + instructions: 576549711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 222873051 + instructions: 223588130 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 903185650 + instructions: 904514965 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 288586363 + instructions: 286410545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 292713740 + instructions: 290985294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 244952082 + instructions: 244084299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 249242168 + instructions: 247580729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 249314946 + instructions: 249005374 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 247473705 + instructions: 244154151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 248138409 + instructions: 246663703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 257516792 + instructions: 261907810 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 248375748 + instructions: 250286198 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 245327388 + instructions: 244336697 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168233768 + instructions: 168757609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1589182180 + instructions: 1592223536 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 336202166 + instructions: 335690650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 194846097 + instructions: 196209954 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177058170 + instructions: 177925419 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 170849126 + instructions: 171576108 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 250186765 + instructions: 251001526 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 193975365 + instructions: 194605220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 174490279 + instructions: 175227606 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 167443479 + instructions: 168409498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 270920846 + instructions: 265571237 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1401866850 + instructions: 1400740731 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 479287247 + instructions: 480262653 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344463484 + instructions: 344874737 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 646324172 + instructions: 642692104 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 273323059 + instructions: 272969874 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445969681 + instructions: 445933283 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 299430441 + instructions: 301097994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308866094 + instructions: 308780209 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 327674384 + instructions: 328955088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 268350949 + instructions: 267678942 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 270096896 + instructions: 269966364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 345969254 + instructions: 348815334 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 289651598 + instructions: 288315522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266782433 + instructions: 266890408 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 208489486 + instructions: 208418900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031162081 + instructions: 1031984631 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402810590 + instructions: 402136517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281643619 + instructions: 281500794 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1985797141 + instructions: 1985125352 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140000904 + instructions: 140483385 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87479763 + instructions: 87640960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4771575582 + instructions: 4347694732 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4388594466 + instructions: 4384122903 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 437518117 + instructions: 349030955 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 5497155337 - heap_increase: 0 + instructions: 4225389736 + heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 1181773320 + instructions: 924044547 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 487161376 + instructions: 405960911 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1789972362 + instructions: 1431732559 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 491382348 + instructions: 413431347 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 704424311 + instructions: 649824266 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 543489222 + instructions: 458270435 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 520045244 + instructions: 448741887 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 571615430 + instructions: 488000934 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 529878058 + instructions: 443042319 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 510305152 + instructions: 429680664 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 610988635 + instructions: 553557314 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 535845644 + instructions: 456772860 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 518514257 + instructions: 433979636 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 408095693 + instructions: 329248469 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 3042158781 - heap_increase: 0 + instructions: 2320422503 + heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 662108927 + instructions: 577466248 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 459499652 + instructions: 378121708 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 361032092 + instructions: 292870699 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 350854126 + instructions: 262055117 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 502955163 + instructions: 408545325 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 474435598 + instructions: 344261711 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 407657131 + instructions: 357907440 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 415493019 + instructions: 361505838 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 411284692 + instructions: 357688988 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 593697044 + instructions: 446203066 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2744207295 + instructions: 2241887252 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 1012252802 + instructions: 881522662 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 708593539 + instructions: 578481546 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1401822357 + instructions: 1203976645 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 621454653 + instructions: 519992260 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1181733986 + instructions: 1066001288 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 755701316 + instructions: 647101543 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 665792239 + instructions: 572121122 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 868829647 + instructions: 751248467 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 661249696 + instructions: 568054547 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 659952868 + instructions: 548182490 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 973265238 + instructions: 848906971 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 691239859 + instructions: 576040500 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 659445704 + instructions: 542390073 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 603957592 - heap_increase: 0 + instructions: 445956258 + heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1858766935 + instructions: 1602605408 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 845917944 + instructions: 738054351 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 665880865 + instructions: 539531194 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150712776 + instructions: 150673457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32538678 + instructions: 32536948 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 168949491 + instructions: 173575851 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 122354174 + instructions: 125869280 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52855855 + instructions: 52843912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 32058181 + instructions: 76730571 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 81195505 + instructions: 86171267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 73273192 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 73273192 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643937985 + instructions: 1643368270 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 212669038 + instructions: 213851483 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213126867 + instructions: 213852910 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 275679057 + instructions: 276705893 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 938992119 + instructions: 942986346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 3128595310 - heap_increase: 0 + instructions: 2404251336 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 608184530 + instructions: 541815014 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 521422074 + instructions: 443993772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 834542320 + instructions: 749284797 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1965050153 + instructions: 1656764139 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 4317258317 + instructions: 3566518956 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 884272624 + instructions: 824887096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 740550754 + instructions: 662411123 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1223807613 + instructions: 1149871816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 3089893641 + instructions: 2796782680 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 2560845497 + instructions: 1676083976 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 673848385 + instructions: 457291512 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 1010250000 + instructions: 823047292 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 763853329 + instructions: 538155162 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 530703399 + instructions: 379124367 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 705521741 + instructions: 483298493 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 604780824 + instructions: 445383578 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 1004082314 + instructions: 751715664 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 1004082314 + instructions: 751715664 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 2468529864 + instructions: 1626877954 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 644483819 + instructions: 429658619 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 976881917 + instructions: 780402411 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 732588393 + instructions: 522257364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 520663045 + instructions: 361559516 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 691071371 + instructions: 470086568 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 585118539 + instructions: 434510410 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 978641304 + instructions: 739823778 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 978641304 + instructions: 739823778 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 16939 + instructions: 18411 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2513959 + instructions: 2410332 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1122,14 +1122,14 @@ benches: btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 16916 + instructions: 18388 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2579762 + instructions: 2476135 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1143,21 +1143,21 @@ benches: btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18488651 + instructions: 18486376 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 17283 + instructions: 18755 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20675386 + instructions: 20803028 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1171,434 +1171,434 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6999842110 + instructions: 6454881177 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4711120592 + instructions: 4704633529 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 587268040 + instructions: 494786469 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 7373819089 + instructions: 6196074656 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1590993931 + instructions: 1348337900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 667616835 + instructions: 587047479 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2424506478 + instructions: 2026934535 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 656932576 + instructions: 590971132 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 985492060 + instructions: 942368966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 748442255 + instructions: 656598362 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 703334735 + instructions: 626068183 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 785755544 + instructions: 701126850 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 714498658 + instructions: 626195062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 700105939 + instructions: 617657455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 859791629 + instructions: 797659816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 739850689 + instructions: 655229473 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 699332234 + instructions: 615317250 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 454080937 + instructions: 374871669 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 4076894035 + instructions: 3447488299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 912179724 + instructions: 814655865 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 601498122 + instructions: 523472153 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 687140958 + instructions: 599621242 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 568774157 + instructions: 524401524 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 590493180 + instructions: 532764519 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 573898992 + instructions: 518447459 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 758654927 + instructions: 644233744 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4479866545 + instructions: 4035783045 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1435734364 + instructions: 1302372226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 918990323 + instructions: 795816859 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2245118577 + instructions: 1990636568 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 836642124 + instructions: 742900018 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1696990832 + instructions: 1554044604 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 1037310067 + instructions: 906015177 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 871791830 + instructions: 785085638 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1253957475 + instructions: 1122145569 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 868943787 + instructions: 774496123 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 865634258 + instructions: 776095864 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1405270381 + instructions: 1272173205 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 969446133 + instructions: 842926057 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 858349641 + instructions: 767935138 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 660487971 + instructions: 520088586 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 3083463895 + instructions: 2762721612 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1183678367 + instructions: 1049276061 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 821888435 + instructions: 706330472 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 982822 + instructions: 982610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2498593 + instructions: 2444806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18467315 + instructions: 18468788 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 980996 + instructions: 980455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2478427 + instructions: 2439046 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18467227 + instructions: 18468700 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 980678 + instructions: 980466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2496449 + instructions: 2442662 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18467281 + instructions: 18468754 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 982244 + instructions: 981703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2479675 + instructions: 2440294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18467259 + instructions: 18468732 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1237822 + instructions: 1237610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56747109 + instructions: 56751294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103711033 + instructions: 1103711546 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1234328 + instructions: 1233787 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56685937 + instructions: 56739683 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103710464 + instructions: 1103711006 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 80d1dea6..f7525702 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -644,7 +644,7 @@ where node } else { // Load the root from memory. - let mut root = self.load_node(self.root_addr); + let mut root = self.take_or_load_node(self.root_addr); // Check if the key already exists in the root. if let Ok(idx) = root.search(&key, self.memory()) { @@ -679,13 +679,13 @@ where } }; - self.insert_nonfull(root, key, value) + self.insert_nonfull(root, key, value, 0) .map(Cow::Owned) .map(V::from_bytes) } /// Inserts an entry into a node that is *not full*. - fn insert_nonfull(&mut self, mut node: Node, key: K, value: Vec) -> Option> { + fn insert_nonfull(&mut self, mut node: Node, key: K, value: Vec, depth: u8) -> Option> { // We're guaranteed by the caller that the provided node is not full. assert!(!node.is_full()); @@ -715,7 +715,8 @@ where NodeType::Internal => { // The node is an internal node. // Load the child that we should add the entry to. - let mut child = self.load_node(node.child(idx)); + let mut child = self.take_or_load_node(node.child(idx)); + let child_depth = depth.saturating_add(1); if child.is_full() { // Check if the key already exists in the child. @@ -731,12 +732,16 @@ where // the child where we need to store the entry in. let idx = node.search(&key, self.memory()).unwrap_or_else(|idx| idx); child = self.load_node(node.child(idx)); + } else { + // Happy path: child is not full. The current node + // will not be modified — return it to cache. + self.return_node(node, depth); } // The child should now be not full. assert!(!child.is_full()); - self.insert_nonfull(child, key, value) + self.insert_nonfull(child, key, value, child_depth) } } } @@ -958,8 +963,8 @@ where return None; } - let root_node = self.load_node(self.root_addr); - self.remove_helper(root_node, key) + let root_node = self.take_or_load_node(self.root_addr); + self.remove_helper(root_node, key, 0) .map(Cow::Owned) .map(V::from_bytes) } @@ -970,9 +975,9 @@ where return None; } - let root = self.load_node(self.root_addr); + let root = self.take_or_load_node(self.root_addr); let last_key = self.last_key_inner(&root); - self.remove_helper(root, &last_key) + self.remove_helper(root, &last_key, 0) .map(|v| (last_key, V::from_bytes(Cow::Owned(v)))) } @@ -982,14 +987,14 @@ where return None; } - let root = self.load_node(self.root_addr); + let root = self.take_or_load_node(self.root_addr); let first_key = self.first_key_inner(&root); - self.remove_helper(root, &first_key) + self.remove_helper(root, &first_key, 0) .map(|v| (first_key, V::from_bytes(Cow::Owned(v)))) } /// A helper method for recursively removing a key from the B-tree. - fn remove_helper(&mut self, mut node: Node, key: &K) -> Option> { + fn remove_helper(&mut self, mut node: Node, key: &K, depth: u8) -> Option> { if node.address() != self.root_addr { // We're guaranteed that whenever this method is called an entry can be // removed from the node without it needing to be merged into a sibling. @@ -1031,7 +1036,7 @@ where Ok(idx) => { // Case 2: The node is an internal node and the key exists in it. - let left_child = self.load_node(node.child(idx)); + let left_child = self.take_or_load_node(node.child(idx)); if left_child.can_remove_entry_without_merging() { // Case 2.a: A key can be removed from the left child without merging. // @@ -1056,7 +1061,7 @@ where // Recursively delete the predecessor. // TODO(EXC-1034): Do this in a single pass. let predecessor = self.last_entry_inner(&left_child); - self.remove_helper(left_child, &predecessor.0)?; + self.remove_helper(left_child, &predecessor.0, depth.saturating_add(1))?; // Replace the `key` with its predecessor. let (_, old_value) = node.swap_entry(idx, predecessor, self.memory()); @@ -1066,7 +1071,7 @@ where return Some(old_value); } - let right_child = self.load_node(node.child(idx + 1)); + let right_child = self.take_or_load_node(node.child(idx + 1)); if right_child.can_remove_entry_without_merging() { // Case 2.b: A key can be removed from the right child without merging. // @@ -1091,7 +1096,7 @@ where // Recursively delete the successor. // TODO(EXC-1034): Do this in a single pass. let successor = self.first_entry_inner(&right_child); - self.remove_helper(right_child, &successor.0)?; + self.remove_helper(right_child, &successor.0, depth.saturating_add(1))?; // Replace the `key` with its successor. let (_, old_value) = node.swap_entry(idx, successor, self.memory()); @@ -1151,23 +1156,28 @@ where self.save_node(&mut new_child); // Recursively delete the key. - self.remove_helper(new_child, key) + self.remove_helper(new_child, key, depth.saturating_add(1)) } Err(idx) => { // Case 3: The node is an internal node and the key does NOT exist in it. // If the key does exist in the tree, it will exist in the subtree at index // `idx`. - let mut child = self.load_node(node.child(idx)); + let mut child = self.take_or_load_node(node.child(idx)); + let child_depth = depth.saturating_add(1); if child.can_remove_entry_without_merging() { // The child has enough nodes. Recurse to delete the `key` from the // `child`. - return self.remove_helper(child, key); + // The current node is not modified — return it to cache. + self.return_node(node, depth); + return self.remove_helper(child, key, child_depth); } // An entry can't be removed from the child without merging. // See if it has a sibling where an entry can be removed without merging. + // Siblings are loaded without cache: all rebalancing paths modify + // and save every loaded node, so caching them would be wasted. let mut left_sibling = if idx > 0 { Some(self.load_node(node.child(idx - 1))) } else { @@ -1231,7 +1241,7 @@ where self.save_node(left_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key); + return self.remove_helper(child, key, child_depth); } } @@ -1286,7 +1296,7 @@ where self.save_node(right_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key); + return self.remove_helper(child, key, child_depth); } } @@ -1317,7 +1327,7 @@ where self.save_node(&mut node); } - return self.remove_helper(left_sibling, key); + return self.remove_helper(left_sibling, key, child_depth); } if let Some(right_sibling) = right_sibling { @@ -1346,7 +1356,7 @@ where self.save_node(&mut node); } - return self.remove_helper(right_sibling, key); + return self.remove_helper(right_sibling, key, child_depth); } unreachable!("At least one of the siblings must exist."); From 4ba91ee4a75d4bc2efe55b17915c53b9b401dba0 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 1 Apr 2026 20:14:08 +0200 Subject: [PATCH 02/18] fmt --- src/btreemap.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/btreemap.rs b/src/btreemap.rs index f7525702..794bcd4a 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -685,7 +685,13 @@ where } /// Inserts an entry into a node that is *not full*. - fn insert_nonfull(&mut self, mut node: Node, key: K, value: Vec, depth: u8) -> Option> { + fn insert_nonfull( + &mut self, + mut node: Node, + key: K, + value: Vec, + depth: u8, + ) -> Option> { // We're guaranteed by the caller that the provided node is not full. assert!(!node.is_full()); @@ -1061,7 +1067,11 @@ where // Recursively delete the predecessor. // TODO(EXC-1034): Do this in a single pass. let predecessor = self.last_entry_inner(&left_child); - self.remove_helper(left_child, &predecessor.0, depth.saturating_add(1))?; + self.remove_helper( + left_child, + &predecessor.0, + depth.saturating_add(1), + )?; // Replace the `key` with its predecessor. let (_, old_value) = node.swap_entry(idx, predecessor, self.memory()); From a47765c252ad407d8aa27864c07411439835071e Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 1 Apr 2026 20:48:09 +0200 Subject: [PATCH 03/18] dont store depth on write --- .gitignore | 3 + benchmarks/btreemap/canbench_results.yml | 460 +++++++++++----------- benchmarks/io_chunks/canbench_results.yml | 6 +- src/btreemap.rs | 50 +-- 4 files changed, 252 insertions(+), 267 deletions(-) diff --git a/.gitignore b/.gitignore index cbad8b17..2f5af3a8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,6 @@ **/*~ tmp/ + +# Claude Code local settings +.claude/settings.local.json diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 01973afc..bbf21e2c 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,1113 +2,1113 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 16632877 + instructions: 18483721 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899307877 + instructions: 898074463 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 284700603 + instructions: 286876333 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 278400263 + instructions: 280845034 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 238994959 + instructions: 240212893 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190983875 + instructions: 189757294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 249140887 + instructions: 248326038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 170544475 + instructions: 169813378 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 294566368 + instructions: 293090409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 294566368 + instructions: 293090409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 456720353 + instructions: 352584649 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 98268585 + instructions: 100509231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 260187771 + instructions: 255015339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 104395918 + instructions: 106205810 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55864895 + instructions: 55702017 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31506093 + instructions: 31523019 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 88705647 + instructions: 84894284 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38827140 + instructions: 38655866 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38827140 + instructions: 38655866 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2337115052 + instructions: 2324488694 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 263003134 + instructions: 264853978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 206296022 + instructions: 205954574 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2976312306 + instructions: 2973112544 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 576549711 + instructions: 575786182 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 223588130 + instructions: 222873051 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904514965 + instructions: 903185650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 286410545 + instructions: 288586363 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 290985294 + instructions: 292713740 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 244084299 + instructions: 244952082 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247580729 + instructions: 249242168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 249005374 + instructions: 249314946 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244154151 + instructions: 247473705 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 246663703 + instructions: 248138409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 261907810 + instructions: 257516792 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 250286198 + instructions: 248375748 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 244336697 + instructions: 245327388 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168757609 + instructions: 168233768 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1592223536 + instructions: 1589182180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 335690650 + instructions: 336202166 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 196209954 + instructions: 194846097 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177925419 + instructions: 177058170 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 171576108 + instructions: 170849126 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 251001526 + instructions: 250186765 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 194605220 + instructions: 193975365 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 175227606 + instructions: 174490279 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168409498 + instructions: 167443479 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 265571237 + instructions: 270920846 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1400740731 + instructions: 1401866850 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480262653 + instructions: 479287247 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344874737 + instructions: 344463484 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 642692104 + instructions: 646324172 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 272969874 + instructions: 273323059 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445933283 + instructions: 445969681 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 301097994 + instructions: 299430441 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308780209 + instructions: 308866094 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 328955088 + instructions: 327674384 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 267678942 + instructions: 268350949 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269966364 + instructions: 270096896 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 348815334 + instructions: 345969254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 288315522 + instructions: 289651598 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266890408 + instructions: 266782433 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 208418900 + instructions: 208489486 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031984631 + instructions: 1031162081 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402136517 + instructions: 402810590 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281500794 + instructions: 281643619 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1985125352 + instructions: 1985797141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140483385 + instructions: 140000904 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87640960 + instructions: 87479763 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4347694732 + instructions: 4826229253 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4384122903 + instructions: 4388597248 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 349030955 + instructions: 441680492 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4225389736 - heap_increase: 2 + instructions: 5501515555 + heap_increase: 0 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 924044547 + instructions: 1186090788 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 405960911 + instructions: 491462580 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1431732559 + instructions: 1794347695 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 413431347 + instructions: 495634251 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 649824266 + instructions: 708777083 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 458270435 + instructions: 547834082 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 448741887 + instructions: 524418900 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 488000934 + instructions: 575935212 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 443042319 + instructions: 534220795 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 429680664 + instructions: 514645047 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 553557314 + instructions: 615332398 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 456772860 + instructions: 540206100 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 433979636 + instructions: 522839188 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 329248469 + instructions: 411943474 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2320422503 - heap_increase: 1 + instructions: 3046511894 + heap_increase: 0 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 577466248 + instructions: 666506736 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 378121708 + instructions: 463678946 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 292870699 + instructions: 365865116 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 262055117 + instructions: 355230858 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 408545325 + instructions: 507315214 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 344261711 + instructions: 479122839 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 357907440 + instructions: 411922025 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 361505838 + instructions: 419789979 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 357688988 + instructions: 415549592 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 446203066 + instructions: 597825369 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2241887252 + instructions: 2748536664 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 881522662 + instructions: 1016539197 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 578481546 + instructions: 712865348 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1203976645 + instructions: 1406167368 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 519992260 + instructions: 625673847 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1066001288 + instructions: 1186057229 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 647101543 + instructions: 760015969 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 572121122 + instructions: 670136705 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 751248467 + instructions: 873119194 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 568054547 + instructions: 665562872 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 548182490 + instructions: 664262602 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 848906971 + instructions: 977579034 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 576040500 + instructions: 695570692 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 542390073 + instructions: 663740562 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 445956258 - heap_increase: 1 + instructions: 607778090 + heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1602605408 + instructions: 1863089311 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 738054351 + instructions: 850286220 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 539531194 + instructions: 670030893 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150673457 + instructions: 150712776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536948 + instructions: 32538678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 173575851 + instructions: 168949491 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 125869280 + instructions: 122354174 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52843912 + instructions: 52855855 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 76730571 + instructions: 32058181 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 86171267 + instructions: 81195505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 76331266 + instructions: 73273192 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 76331266 + instructions: 73273192 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643368270 + instructions: 1643937985 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 213851483 + instructions: 212669038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213852910 + instructions: 213126867 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 276705893 + instructions: 275679057 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 942986346 + instructions: 938992119 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2404251336 - heap_increase: 1 + instructions: 3132976755 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 541815014 + instructions: 612523954 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 443993772 + instructions: 525719034 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 749284797 + instructions: 838881736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1656764139 + instructions: 1969401243 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3566518956 + instructions: 4308652405 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824887096 + instructions: 886000979 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 662411123 + instructions: 741505169 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1149871816 + instructions: 1225132140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2796782680 + instructions: 3086941570 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1676083976 + instructions: 2360468482 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 457291512 + instructions: 604990839 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 823047292 + instructions: 940886026 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 538155162 + instructions: 696348119 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 379124367 + instructions: 476104629 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 483298493 + instructions: 634814990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 445383578 + instructions: 547599328 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 751715664 + instructions: 944613990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 751715664 + instructions: 944613990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1626877954 + instructions: 2270521466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 429658619 + instructions: 576328323 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 780402411 + instructions: 907483027 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 522257364 + instructions: 664141240 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 361559516 + instructions: 465333272 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 470086568 + instructions: 621401855 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 434510410 + instructions: 529186096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 739823778 + instructions: 918054998 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 739823778 + instructions: 918054998 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 18411 + instructions: 16939 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2410332 + instructions: 2513959 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1122,14 +1122,14 @@ benches: btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 18388 + instructions: 16916 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2476135 + instructions: 2579762 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1143,21 +1143,21 @@ benches: btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18486376 + instructions: 18488651 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 18755 + instructions: 17283 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20803028 + instructions: 20675386 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1171,434 +1171,434 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6454881177 + instructions: 6981955980 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4704633529 + instructions: 4711124139 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 494786469 + instructions: 589074192 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6196074656 + instructions: 7356737249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1348337900 + instructions: 1591844231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 587047479 + instructions: 669348615 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2026934535 + instructions: 2423294204 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 590971132 + instructions: 659228294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 942368966 + instructions: 987237609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 656598362 + instructions: 750902202 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 626068183 + instructions: 704807152 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 701126850 + instructions: 787878492 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 626195062 + instructions: 716597280 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 617657455 + instructions: 701154094 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 797659816 + instructions: 861137746 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 655229473 + instructions: 741672550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 615317250 + instructions: 700941395 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 374871669 + instructions: 456794638 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3447488299 + instructions: 4069896532 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 814655865 + instructions: 914329432 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 523472153 + instructions: 603596533 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 599621242 + instructions: 688229612 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 524401524 + instructions: 571093344 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 532764519 + instructions: 591926902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 518447459 + instructions: 577047840 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 644233744 + instructions: 759000214 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4035783045 + instructions: 4477047169 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1302372226 + instructions: 1421582496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 795816859 + instructions: 923736831 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 1990636568 + instructions: 2247239772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 742900018 + instructions: 838558049 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1554044604 + instructions: 1700540674 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 906015177 + instructions: 1040711862 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 785085638 + instructions: 875518996 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1122145569 + instructions: 1242935392 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 774496123 + instructions: 871788679 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 776095864 + instructions: 866552870 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1272173205 + instructions: 1407630566 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 842926057 + instructions: 972643784 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 767935138 + instructions: 860896355 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 520088586 + instructions: 664980771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2762721612 + instructions: 3081558268 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1049276061 + instructions: 1187409170 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 706330472 + instructions: 824747251 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 982610 + instructions: 982822 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2444806 + instructions: 2498593 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18468788 + instructions: 18467315 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 980455 + instructions: 980996 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2439046 + instructions: 2478427 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18468700 + instructions: 18467227 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 980466 + instructions: 980678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2442662 + instructions: 2496449 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18468754 + instructions: 18467281 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 981703 + instructions: 982244 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2440294 + instructions: 2479675 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18468732 + instructions: 18467259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1237610 + instructions: 1237822 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56751294 + instructions: 56747109 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103711546 + instructions: 1103711033 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1233787 + instructions: 1234328 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56739683 + instructions: 56685937 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103711006 + instructions: 1103710464 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index 4112f5c6..4dbc89ae 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205465 + instructions: 357205461 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 4187223807 + instructions: 4187554352 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 83761099339 + instructions: 84476305010 heap_increase: 0 stable_memory_increase: 3072 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 794bcd4a..de352155 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -679,19 +679,13 @@ where } }; - self.insert_nonfull(root, key, value, 0) + self.insert_nonfull(root, key, value) .map(Cow::Owned) .map(V::from_bytes) } /// Inserts an entry into a node that is *not full*. - fn insert_nonfull( - &mut self, - mut node: Node, - key: K, - value: Vec, - depth: u8, - ) -> Option> { + fn insert_nonfull(&mut self, mut node: Node, key: K, value: Vec) -> Option> { // We're guaranteed by the caller that the provided node is not full. assert!(!node.is_full()); @@ -722,7 +716,6 @@ where // The node is an internal node. // Load the child that we should add the entry to. let mut child = self.take_or_load_node(node.child(idx)); - let child_depth = depth.saturating_add(1); if child.is_full() { // Check if the key already exists in the child. @@ -738,16 +731,12 @@ where // the child where we need to store the entry in. let idx = node.search(&key, self.memory()).unwrap_or_else(|idx| idx); child = self.load_node(node.child(idx)); - } else { - // Happy path: child is not full. The current node - // will not be modified — return it to cache. - self.return_node(node, depth); } // The child should now be not full. assert!(!child.is_full()); - self.insert_nonfull(child, key, value, child_depth) + self.insert_nonfull(child, key, value) } } } @@ -970,7 +959,7 @@ where } let root_node = self.take_or_load_node(self.root_addr); - self.remove_helper(root_node, key, 0) + self.remove_helper(root_node, key) .map(Cow::Owned) .map(V::from_bytes) } @@ -983,7 +972,7 @@ where let root = self.take_or_load_node(self.root_addr); let last_key = self.last_key_inner(&root); - self.remove_helper(root, &last_key, 0) + self.remove_helper(root, &last_key) .map(|v| (last_key, V::from_bytes(Cow::Owned(v)))) } @@ -995,12 +984,12 @@ where let root = self.take_or_load_node(self.root_addr); let first_key = self.first_key_inner(&root); - self.remove_helper(root, &first_key, 0) + self.remove_helper(root, &first_key) .map(|v| (first_key, V::from_bytes(Cow::Owned(v)))) } /// A helper method for recursively removing a key from the B-tree. - fn remove_helper(&mut self, mut node: Node, key: &K, depth: u8) -> Option> { + fn remove_helper(&mut self, mut node: Node, key: &K) -> Option> { if node.address() != self.root_addr { // We're guaranteed that whenever this method is called an entry can be // removed from the node without it needing to be merged into a sibling. @@ -1067,11 +1056,7 @@ where // Recursively delete the predecessor. // TODO(EXC-1034): Do this in a single pass. let predecessor = self.last_entry_inner(&left_child); - self.remove_helper( - left_child, - &predecessor.0, - depth.saturating_add(1), - )?; + self.remove_helper(left_child, &predecessor.0)?; // Replace the `key` with its predecessor. let (_, old_value) = node.swap_entry(idx, predecessor, self.memory()); @@ -1106,7 +1091,7 @@ where // Recursively delete the successor. // TODO(EXC-1034): Do this in a single pass. let successor = self.first_entry_inner(&right_child); - self.remove_helper(right_child, &successor.0, depth.saturating_add(1))?; + self.remove_helper(right_child, &successor.0)?; // Replace the `key` with its successor. let (_, old_value) = node.swap_entry(idx, successor, self.memory()); @@ -1166,7 +1151,7 @@ where self.save_node(&mut new_child); // Recursively delete the key. - self.remove_helper(new_child, key, depth.saturating_add(1)) + self.remove_helper(new_child, key) } Err(idx) => { // Case 3: The node is an internal node and the key does NOT exist in it. @@ -1174,14 +1159,11 @@ where // If the key does exist in the tree, it will exist in the subtree at index // `idx`. let mut child = self.take_or_load_node(node.child(idx)); - let child_depth = depth.saturating_add(1); if child.can_remove_entry_without_merging() { // The child has enough nodes. Recurse to delete the `key` from the - // `child`. - // The current node is not modified — return it to cache. - self.return_node(node, depth); - return self.remove_helper(child, key, child_depth); + // `child`. The current node is not modified. + return self.remove_helper(child, key); } // An entry can't be removed from the child without merging. @@ -1251,7 +1233,7 @@ where self.save_node(left_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key, child_depth); + return self.remove_helper(child, key); } } @@ -1306,7 +1288,7 @@ where self.save_node(right_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key, child_depth); + return self.remove_helper(child, key); } } @@ -1337,7 +1319,7 @@ where self.save_node(&mut node); } - return self.remove_helper(left_sibling, key, child_depth); + return self.remove_helper(left_sibling, key); } if let Some(right_sibling) = right_sibling { @@ -1366,7 +1348,7 @@ where self.save_node(&mut node); } - return self.remove_helper(right_sibling, key, child_depth); + return self.remove_helper(right_sibling, key); } unreachable!("At least one of the siblings must exist."); From 075cb386bd00a66bf1a129cd3e0d4137d35632ee Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 1 Apr 2026 21:13:20 +0200 Subject: [PATCH 04/18] add more benchmarks --- benchmarks/btreemap/canbench_results.yml | 521 +++++++++++++---------- benchmarks/btreemap/src/main.rs | 160 +++++++ 2 files changed, 452 insertions(+), 229 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index bbf21e2c..037a172a 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,1603 +2,1666 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 18483721 + instructions: 20578468 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 898074463 + instructions: 931184944 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 286876333 + instructions: 298313089 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 280845034 + instructions: 290225618 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 240212893 + instructions: 250920581 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 189757294 + instructions: 238209564 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 248326038 + instructions: 259134274 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_contains_then_remove_blob_32_128: + total: + calls: 1 + instructions: 873310344 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_contains_then_remove_u64_u64: + total: + calls: 1 + instructions: 692363216 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 169813378 + instructions: 204082543 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 293090409 + instructions: 356967208 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 293090409 + instructions: 356967208 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 352584649 + instructions: 454205185 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 100509231 + instructions: 156364488 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 255015339 + instructions: 325179918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 106205810 + instructions: 152002666 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55702017 + instructions: 176661466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31523019 + instructions: 188559361 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 84894284 + instructions: 131610372 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38655866 + instructions: 149707013 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38655866 + instructions: 149707013 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2324488694 + instructions: 2297182808 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 264853978 + instructions: 266949050 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 205954574 + instructions: 246844617 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2973112544 + instructions: 3751217346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 575786182 + instructions: 716073742 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 222873051 + instructions: 278450376 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 903185650 + instructions: 936444854 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 288586363 + instructions: 300023119 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 292713740 + instructions: 300587220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 244952082 + instructions: 256612444 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 249242168 + instructions: 297707573 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 249314946 + instructions: 260157487 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 247473705 + instructions: 288635117 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 248138409 + instructions: 257900379 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 257516792 + instructions: 264784042 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 248375748 + instructions: 301185898 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 245327388 + instructions: 255812366 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168233768 + instructions: 184170694 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1589182180 + instructions: 1679021636 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 336202166 + instructions: 344375001 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 194846097 + instructions: 243604740 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177058170 + instructions: 211811964 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 170849126 + instructions: 211495946 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 250186765 + instructions: 260995001 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_insert_blob_32_128: + total: + calls: 1 + instructions: 701276178 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_insert_u64_u64: + total: + calls: 1 + instructions: 505987945 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_remove_blob_32_128: + total: + calls: 1 + instructions: 892630629 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_remove_u64_u64: + total: + calls: 1 + instructions: 696966102 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 193975365 + instructions: 196481364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 174490279 + instructions: 208781000 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 167443479 + instructions: 168159653 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 270920846 + instructions: 330883160 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1401866850 + instructions: 1776056978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 479287247 + instructions: 500424701 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344463484 + instructions: 383368316 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 646324172 + instructions: 791487205 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 273323059 + instructions: 278838620 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445969681 + instructions: 464947378 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 299430441 + instructions: 362449618 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308866094 + instructions: 321292246 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 327674384 + instructions: 346176337 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 268350949 + instructions: 280165470 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 270096896 + instructions: 323889202 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 345969254 + instructions: 414788782 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 289651598 + instructions: 293112293 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266782433 + instructions: 281799088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 208489486 + instructions: 267395456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031162081 + instructions: 1067173717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402810590 + instructions: 422306245 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281643619 + instructions: 333874524 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1985797141 + instructions: 2142425230 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140000904 + instructions: 190262797 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87479763 + instructions: 159639351 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4826229253 + instructions: 4798117229 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4388597248 + instructions: 4389926814 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 441680492 + instructions: 440304447 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 5501515555 + instructions: 5503501503 heap_increase: 0 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 1186090788 + instructions: 1186772817 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 491462580 + instructions: 498196059 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1794347695 + instructions: 1795247866 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 495634251 + instructions: 500627344 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 708777083 + instructions: 714320505 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 547834082 + instructions: 552957322 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 524418900 + instructions: 523893960 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 575935212 + instructions: 581575332 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 534220795 + instructions: 535446135 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 514645047 + instructions: 515018333 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 615332398 + instructions: 619612306 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 540206100 + instructions: 542766455 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 522839188 + instructions: 522080089 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 411943474 + instructions: 412760873 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 3046511894 + instructions: 3047640760 heap_increase: 0 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 666506736 + instructions: 668034794 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 463678946 + instructions: 464353932 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 365865116 + instructions: 363805301 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 355230858 + instructions: 353018383 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 507315214 + instructions: 510196183 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 479122839 + instructions: 477285117 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 411922025 + instructions: 410104924 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 419789979 + instructions: 417453175 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 415549592 + instructions: 412987277 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 597825369 + instructions: 595022790 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2748536664 + instructions: 2748170646 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 1016539197 + instructions: 1012717607 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 712865348 + instructions: 712872348 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1406167368 + instructions: 1383598233 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 625673847 + instructions: 623383947 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1186057229 + instructions: 1186722676 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 760015969 + instructions: 759105037 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 670136705 + instructions: 667066905 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 873119194 + instructions: 873147204 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 665562872 + instructions: 662956775 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 664262602 + instructions: 660954696 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 977579034 + instructions: 978029043 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 695570692 + instructions: 692531173 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 663740562 + instructions: 661206090 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 607778090 + instructions: 607784808 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1863089311 + instructions: 1852967334 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 850286220 + instructions: 847606037 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 670030893 + instructions: 669985903 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150712776 + instructions: 395118950 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32538678 + instructions: 120590983 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 168949491 + instructions: 263461246 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 122354174 + instructions: 155551522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52855855 + instructions: 117090056 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 32058181 + instructions: 76014371 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 81195505 + instructions: 133170997 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 73273192 + instructions: 112179577 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 73273192 + instructions: 112179577 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643937985 + instructions: 1755894210 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 212669038 + instructions: 254161838 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213126867 + instructions: 257642421 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 275679057 + instructions: 334276299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 938992119 + instructions: 983959658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 3132976755 + instructions: 3133761054 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 612523954 + instructions: 610614421 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 525719034 + instructions: 522932897 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 838881736 + instructions: 831994563 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1969401243 + instructions: 1957520829 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 4308652405 + instructions: 4296064187 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 886000979 + instructions: 885650225 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 741505169 + instructions: 740659474 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1225132140 + instructions: 1224276813 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 3086941570 + instructions: 3072649776 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: + total: + calls: 1 + instructions: 474971446 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_peek_then_pop_first_u64_u64: + total: + calls: 1 + instructions: 673723107 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_peek_then_pop_last_u64_u64: + total: + calls: 1 + instructions: 654617010 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 2360468482 + instructions: 2458772241 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 604990839 + instructions: 645303022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 940886026 + instructions: 979836089 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 696348119 + instructions: 738359332 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 476104629 + instructions: 498528313 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 634814990 + instructions: 668942584 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 547599328 + instructions: 578752671 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 944613990 + instructions: 971794511 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 944613990 + instructions: 971794511 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 2270521466 + instructions: 2359162927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 576328323 + instructions: 618006464 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 907483027 + instructions: 946857836 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 664141240 + instructions: 701774596 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 465333272 + instructions: 494814736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 621401855 + instructions: 653888110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 529186096 + instructions: 555384196 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 918054998 + instructions: 946731232 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 918054998 + instructions: 946731232 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 16939 + instructions: 17188 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2513959 + instructions: 2497011 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_20_10mib: total: calls: 1 - instructions: 18468866 + instructions: 20564595 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 16916 + instructions: 17165 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2579762 + instructions: 2562814 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_20_10mib: total: calls: 1 - instructions: 18470105 + instructions: 20565834 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18488651 + instructions: 18421476 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 17283 + instructions: 17532 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20675386 + instructions: 20658698 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_20_10mib: total: calls: 1 - instructions: 398305332 + instructions: 400401061 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6981955980 + instructions: 6984971254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4711124139 + instructions: 4711714914 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 589074192 + instructions: 583582038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 7356737249 + instructions: 7359922046 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1591844231 + instructions: 1595542253 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 669348615 + instructions: 678917563 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2423294204 + instructions: 2426053258 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 659228294 + instructions: 666006286 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 987237609 + instructions: 994815761 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 750902202 + instructions: 758472593 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 704807152 + instructions: 711347527 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 787878492 + instructions: 795502916 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 716597280 + instructions: 721601667 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 701154094 + instructions: 706340455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 861137746 + instructions: 869856782 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 741672550 + instructions: 748000929 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 700941395 + instructions: 706396951 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 456794638 + instructions: 457998578 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 4069896532 + instructions: 4073233648 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 914329432 + instructions: 917701898 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 603596533 + instructions: 605278324 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 688229612 + instructions: 691812180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 571093344 + instructions: 571636545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 591926902 + instructions: 592491528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 577047840 + instructions: 577913795 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 759000214 + instructions: 757071976 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4477047169 + instructions: 4500241679 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1421582496 + instructions: 1440889226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 923736831 + instructions: 925537253 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2247239772 + instructions: 2249087271 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 838558049 + instructions: 837174416 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1700540674 + instructions: 1700331871 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 1040711862 + instructions: 1042873262 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 875518996 + instructions: 858781529 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1242935392 + instructions: 1244236825 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 871788679 + instructions: 870939376 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 866552870 + instructions: 865270994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1407630566 + instructions: 1409225031 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 972643784 + instructions: 975194870 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 860896355 + instructions: 859579888 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 664980771 + instructions: 665886004 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 3081558268 + instructions: 3085920961 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1187409170 + instructions: 1189059975 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 824747251 + instructions: 830239400 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 982822 + instructions: 988522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2498593 + instructions: 2439492 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18467315 + instructions: 18466805 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 980996 + instructions: 985601 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2478427 + instructions: 2426741 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18467227 + instructions: 18466717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 980678 + instructions: 986378 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2496449 + instructions: 2437348 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18467281 + instructions: 18466771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 982244 + instructions: 986849 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2479675 + instructions: 2427989 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18467259 + instructions: 18466749 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1237822 + instructions: 1243522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56747109 + instructions: 56625219 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103711033 + instructions: 1103710523 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1234328 + instructions: 1238933 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56685937 + instructions: 56593867 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103710464 + instructions: 1103709954 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreemap/src/main.rs b/benchmarks/btreemap/src/main.rs index 87c01902..c57c8ab6 100644 --- a/benchmarks/btreemap/src/main.rs +++ b/benchmarks/btreemap/src/main.rs @@ -1040,4 +1040,164 @@ pub fn btreemap_v2_get_miss_zipf_10k_u64_u64() -> BenchResult { }) } +// --- Read-then-write benchmarks (cache warmed by read, reused by write) --- + +// Get-then-remove: get(k) warms the cache path, remove(k) reuses it. +#[bench(raw)] +pub fn btreemap_v2_get_then_remove_u64_u64() -> BenchResult { + get_then_remove_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +#[bench(raw)] +pub fn btreemap_v2_get_then_remove_blob_32_128() -> BenchResult { + get_then_remove_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +fn get_then_remove_helper( + mut btree: BTreeMap, +) -> BenchResult { + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let keys: Vec = items.into_iter().map(|(k, _)| k).collect(); + bench_fn(|| { + for key in keys { + btree.get(&key); + btree.remove(&key); + } + }) +} + +// Get-then-insert (upsert): get(k) warms the path, insert(k, new_v) reuses it. +#[bench(raw)] +pub fn btreemap_v2_get_then_insert_u64_u64() -> BenchResult { + get_then_insert_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +#[bench(raw)] +pub fn btreemap_v2_get_then_insert_blob_32_128() -> BenchResult { + get_then_insert_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +fn get_then_insert_helper( + mut btree: BTreeMap, +) -> BenchResult { + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let updates: Vec<(K, V)> = items + .into_iter() + .map(|(k, _)| (k, V::random(&mut rng))) + .collect(); + bench_fn(|| { + for (k, v) in updates { + btree.get(&k); + btree.insert(k, v); + } + }) +} + +// Contains-then-remove: contains_key(k) warms the path, remove(k) reuses it. +#[bench(raw)] +pub fn btreemap_v2_contains_then_remove_u64_u64() -> BenchResult { + contains_then_remove_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +#[bench(raw)] +pub fn btreemap_v2_contains_then_remove_blob_32_128() -> BenchResult { + contains_then_remove_helper::(BTreeMap::new(DefaultMemoryImpl::default())) +} + +fn contains_then_remove_helper( + mut btree: BTreeMap, +) -> BenchResult { + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let keys: Vec = items.into_iter().map(|(k, _)| k).collect(); + bench_fn(|| { + for key in keys { + if btree.contains_key(&key) { + btree.remove(&key); + } + } + }) +} + +// Interleaved mixed: Zipf-distributed get/insert on 10K tree. +// Hot keys are read then written — maximum cache reuse. +#[bench(raw)] +pub fn btreemap_v2_mixed_get_insert_zipf_10k_u64_u64() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + let zipf = ZipfSampler::new(count, 1.0); + let ops: Vec<(u64, u64)> = (0..count) + .map(|_| (keys[zipf.sample(&mut rng)], rng.rand_u64())) + .collect(); + bench_fn(|| { + for (k, v) in ops { + btree.get(&k); + btree.insert(k, v); + } + }) +} + +// Peek-then-pop: last_key_value() warms the path, pop_last() reuses it. +// Simulates the common pattern of inspecting before removing. +#[bench(raw)] +pub fn btreemap_v2_peek_then_pop_last_u64_u64() -> BenchResult { + peek_then_pop_helper::(BTreeMap::new(DefaultMemoryImpl::default()), Position::Last) +} + +#[bench(raw)] +pub fn btreemap_v2_peek_then_pop_first_u64_u64() -> BenchResult { + peek_then_pop_helper::(BTreeMap::new(DefaultMemoryImpl::default()), Position::First) +} + +fn peek_then_pop_helper( + mut btree: BTreeMap, + position: Position, +) -> BenchResult { + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items { + btree.insert(k, v); + } + + bench_fn(|| { + for _ in 0..count { + match position { + Position::First => { + btree.first_key_value(); + btree.pop_first(); + } + Position::Last => { + btree.last_key_value(); + btree.pop_last(); + } + }; + } + }) +} + fn main() {} From 9038fbb1ee0f9adeadec0a87f302dca22075fe21 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 08:41:31 +0200 Subject: [PATCH 05/18] use depth on write --- benchmarks/btreemap/canbench_results.yml | 484 +++++++++++----------- benchmarks/io_chunks/canbench_results.yml | 6 +- benchmarks/nns/canbench_results.yml | 22 +- src/btreemap.rs | 50 ++- 4 files changed, 290 insertions(+), 272 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 037a172a..69678b5c 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,1666 +2,1666 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 20578468 + instructions: 16632877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 931184944 + instructions: 899307877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 298313089 + instructions: 284700603 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 290225618 + instructions: 278400263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 250920581 + instructions: 238994959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 238209564 + instructions: 190983875 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 259134274 + instructions: 249140887 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 873310344 + instructions: 737328892 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 692363216 + instructions: 601234528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 204082543 + instructions: 170544475 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 356967208 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 356967208 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 454205185 + instructions: 456720353 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 156364488 + instructions: 98268585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 325179918 + instructions: 260187771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 152002666 + instructions: 104395918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 176661466 + instructions: 55864895 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 188559361 + instructions: 31506093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 131610372 + instructions: 88705647 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 149707013 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 149707013 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2297182808 + instructions: 2337115052 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 266949050 + instructions: 263003134 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 246844617 + instructions: 206296022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 3751217346 + instructions: 2976312306 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 716073742 + instructions: 576549711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 278450376 + instructions: 223588130 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 936444854 + instructions: 904514965 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 300023119 + instructions: 286410545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 300587220 + instructions: 290985294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 256612444 + instructions: 244084299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 297707573 + instructions: 247580729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 260157487 + instructions: 249005374 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 288635117 + instructions: 244154151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 257900379 + instructions: 246663703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 264784042 + instructions: 261907810 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 301185898 + instructions: 250286198 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 255812366 + instructions: 244336697 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 184170694 + instructions: 168757609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1679021636 + instructions: 1592223536 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 344375001 + instructions: 335690650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 243604740 + instructions: 196209954 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 211811964 + instructions: 177925419 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 211495946 + instructions: 171576108 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 260995001 + instructions: 251001526 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 701276178 + instructions: 525420668 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 505987945 + instructions: 374043751 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 892630629 + instructions: 752797176 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 696966102 + instructions: 606052238 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 196481364 + instructions: 194605220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 208781000 + instructions: 175227606 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168159653 + instructions: 168409498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 330883160 + instructions: 265571237 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1776056978 + instructions: 1400740731 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 500424701 + instructions: 480262653 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 383368316 + instructions: 344874737 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 791487205 + instructions: 642692104 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 278838620 + instructions: 272969874 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 464947378 + instructions: 445933283 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 362449618 + instructions: 301097994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 321292246 + instructions: 308780209 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 346176337 + instructions: 328955088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 280165470 + instructions: 267678942 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 323889202 + instructions: 269966364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 414788782 + instructions: 348815334 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 293112293 + instructions: 288315522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 281799088 + instructions: 266890408 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 267395456 + instructions: 208418900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1067173717 + instructions: 1031984631 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 422306245 + instructions: 402136517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 333874524 + instructions: 281500794 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 2142425230 + instructions: 1985125352 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 190262797 + instructions: 140483385 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 159639351 + instructions: 87640960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4798117229 + instructions: 4359189111 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4389926814 + instructions: 4385449310 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 440304447 + instructions: 350403845 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 5503501503 - heap_increase: 0 + instructions: 4226856138 + heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 1186772817 + instructions: 925511897 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 498196059 + instructions: 407385683 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1795247866 + instructions: 1433201019 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 500627344 + instructions: 414878236 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 714320505 + instructions: 651273484 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 552957322 + instructions: 459715321 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 523893960 + instructions: 450199352 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 581575332 + instructions: 489453016 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 535446135 + instructions: 444495719 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 515018333 + instructions: 431130861 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 619612306 + instructions: 555006942 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 542766455 + instructions: 458223998 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 522080089 + instructions: 435423472 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 412760873 + instructions: 330531532 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 3047640760 - heap_increase: 0 + instructions: 2321892379 + heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 668034794 + instructions: 578928000 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 464353932 + instructions: 379513456 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 363805301 + instructions: 293719122 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 353018383 + instructions: 262879446 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 510196183 + instructions: 410001567 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 477285117 + instructions: 345573793 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 410104924 + instructions: 359057380 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 417453175 + instructions: 362654357 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 412987277 + instructions: 358839532 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 595022790 + instructions: 447591852 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2748170646 + instructions: 2242992700 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 1012717607 + instructions: 882756627 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 712872348 + instructions: 579850278 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1383598233 + instructions: 1205115702 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 623383947 + instructions: 521439540 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1186722676 + instructions: 1067293052 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 759105037 + instructions: 648468583 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 667066905 + instructions: 573577474 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 873147204 + instructions: 752556370 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 662956775 + instructions: 569507947 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 660954696 + instructions: 549632782 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 978029043 + instructions: 850192016 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 692531173 + instructions: 577477379 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 661206090 + instructions: 543833825 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 607784808 - heap_increase: 0 + instructions: 447194867 + heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1852967334 + instructions: 1603705203 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 847606037 + instructions: 739395069 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 669985903 + instructions: 540873724 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 395118950 + instructions: 150673457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 120590983 + instructions: 32536948 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 263461246 + instructions: 173575851 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 155551522 + instructions: 125869280 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 117090056 + instructions: 52843912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 76014371 + instructions: 76730571 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 133170997 + instructions: 86171267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 112179577 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 112179577 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1755894210 + instructions: 1643368270 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 254161838 + instructions: 213851483 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 257642421 + instructions: 213889966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 334276299 + instructions: 277541381 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 983959658 + instructions: 943851694 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 3133761054 - heap_increase: 0 + instructions: 2404270904 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 610614421 + instructions: 541834846 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 522932897 + instructions: 444040696 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 831994563 + instructions: 750272899 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1957520829 + instructions: 1657769263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 4296064187 + instructions: 3566540564 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 885650225 + instructions: 824909016 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 740659474 + instructions: 662460099 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1224276813 + instructions: 1151241976 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 3072649776 + instructions: 2798169912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 474971446 + instructions: 336197164 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 673723107 + instructions: 494309600 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 654617010 + instructions: 491016301 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 2458772241 + instructions: 1678284496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 645303022 + instructions: 459397573 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 979836089 + instructions: 825158998 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 738359332 + instructions: 540283836 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 498528313 + instructions: 380819749 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 668942584 + instructions: 485436193 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 578752671 + instructions: 447104214 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 971794511 + instructions: 753744141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 971794511 + instructions: 753744141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 2359162927 + instructions: 1629078804 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 618006464 + instructions: 431767607 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 946857836 + instructions: 782512729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 701774596 + instructions: 524388036 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 494814736 + instructions: 363254449 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 653888110 + instructions: 472224966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 555384196 + instructions: 436232279 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 946731232 + instructions: 741853658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 946731232 + instructions: 741853658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 17188 + instructions: 18411 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2497011 + instructions: 2410332 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_20_10mib: total: calls: 1 - instructions: 20564595 + instructions: 18468866 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 17165 + instructions: 18388 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2562814 + instructions: 2476135 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_20_10mib: total: calls: 1 - instructions: 20565834 + instructions: 18470105 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18421476 + instructions: 18486376 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 17532 + instructions: 18755 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20658698 + instructions: 20803028 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_20_10mib: total: calls: 1 - instructions: 400401061 + instructions: 398305332 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6984971254 + instructions: 6477731469 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4711714914 + instructions: 4705256170 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 583582038 + instructions: 496992994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 7359922046 + instructions: 6198739992 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1595542253 + instructions: 1350978244 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 678917563 + instructions: 589555481 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2426053258 + instructions: 2029585917 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 666006286 + instructions: 593575959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 994815761 + instructions: 944933972 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 758472593 + instructions: 659157412 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 711347527 + instructions: 628614551 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 795502916 + instructions: 703681472 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 721601667 + instructions: 628751644 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 706340455 + instructions: 620246433 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 869856782 + instructions: 800254528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 748000929 + instructions: 657857209 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 706396951 + instructions: 617858456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 457998578 + instructions: 376385637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 4073233648 + instructions: 3450154889 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 917701898 + instructions: 817204117 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 605278324 + instructions: 525716505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 691812180 + instructions: 602282999 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 571636545 + instructions: 526458173 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 592491528 + instructions: 534835372 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 577913795 + instructions: 520506158 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 757071976 + instructions: 646505548 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4500241679 + instructions: 4037670588 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1440889226 + instructions: 1304614738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 925537253 + instructions: 798264483 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2249087271 + instructions: 1992651736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 837174416 + instructions: 745480168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1700331871 + instructions: 1556194599 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 1042873262 + instructions: 908439510 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 858781529 + instructions: 787631024 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1244236825 + instructions: 1124456456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 870939376 + instructions: 777052499 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 865270994 + instructions: 778685006 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1409225031 + instructions: 1274405565 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 975194870 + instructions: 845533302 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 859579888 + instructions: 770495022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 665886004 + instructions: 521619159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 3085920961 + instructions: 2764659912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1189059975 + instructions: 1051643676 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 830239400 + instructions: 708526203 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 988522 + instructions: 982610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2439492 + instructions: 2444806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18466805 + instructions: 18468788 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 985601 + instructions: 980455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2426741 + instructions: 2439046 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18466717 + instructions: 18468700 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 986378 + instructions: 980466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2437348 + instructions: 2442662 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18466771 + instructions: 18468754 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 986849 + instructions: 981703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2427989 + instructions: 2440294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18466749 + instructions: 18468732 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1243522 + instructions: 1237610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56625219 + instructions: 56751294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103710523 + instructions: 1103711546 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1238933 + instructions: 1233787 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56593867 + instructions: 56739683 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103709954 + instructions: 1103711006 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index 4dbc89ae..5288d1e4 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205461 + instructions: 357205462 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 4187554352 + instructions: 3961150671 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 84476305010 + instructions: 55321037525 heap_increase: 0 stable_memory_increase: 3072 scopes: {} diff --git a/benchmarks/nns/canbench_results.yml b/benchmarks/nns/canbench_results.yml index 95d38b97..0ae18444 100644 --- a/benchmarks/nns/canbench_results.yml +++ b/benchmarks/nns/canbench_results.yml @@ -58,56 +58,56 @@ benches: vote_cascading_stable_centralized_10k: total: calls: 1 - instructions: 1372396240 - heap_increase: 10 + instructions: 1377082318 + heap_increase: 13 stable_memory_increase: 0 scopes: {} vote_cascading_stable_centralized_1k: total: calls: 1 - instructions: 99761831 + instructions: 99958826 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_15: total: calls: 1 - instructions: 9854978344 + instructions: 9744926433 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_5: total: calls: 1 - instructions: 2924577184 + instructions: 2891370186 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_15: total: calls: 1 - instructions: 866392564 - heap_increase: 0 + instructions: 866434319 + heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_5: total: calls: 1 - instructions: 251866705 - heap_increase: 0 + instructions: 249274291 + heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_10k: total: calls: 1 - instructions: 91198 + instructions: 92690 heap_increase: 0 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_1k: total: calls: 1 - instructions: 66620 + instructions: 68848 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index de352155..794bcd4a 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -679,13 +679,19 @@ where } }; - self.insert_nonfull(root, key, value) + self.insert_nonfull(root, key, value, 0) .map(Cow::Owned) .map(V::from_bytes) } /// Inserts an entry into a node that is *not full*. - fn insert_nonfull(&mut self, mut node: Node, key: K, value: Vec) -> Option> { + fn insert_nonfull( + &mut self, + mut node: Node, + key: K, + value: Vec, + depth: u8, + ) -> Option> { // We're guaranteed by the caller that the provided node is not full. assert!(!node.is_full()); @@ -716,6 +722,7 @@ where // The node is an internal node. // Load the child that we should add the entry to. let mut child = self.take_or_load_node(node.child(idx)); + let child_depth = depth.saturating_add(1); if child.is_full() { // Check if the key already exists in the child. @@ -731,12 +738,16 @@ where // the child where we need to store the entry in. let idx = node.search(&key, self.memory()).unwrap_or_else(|idx| idx); child = self.load_node(node.child(idx)); + } else { + // Happy path: child is not full. The current node + // will not be modified — return it to cache. + self.return_node(node, depth); } // The child should now be not full. assert!(!child.is_full()); - self.insert_nonfull(child, key, value) + self.insert_nonfull(child, key, value, child_depth) } } } @@ -959,7 +970,7 @@ where } let root_node = self.take_or_load_node(self.root_addr); - self.remove_helper(root_node, key) + self.remove_helper(root_node, key, 0) .map(Cow::Owned) .map(V::from_bytes) } @@ -972,7 +983,7 @@ where let root = self.take_or_load_node(self.root_addr); let last_key = self.last_key_inner(&root); - self.remove_helper(root, &last_key) + self.remove_helper(root, &last_key, 0) .map(|v| (last_key, V::from_bytes(Cow::Owned(v)))) } @@ -984,12 +995,12 @@ where let root = self.take_or_load_node(self.root_addr); let first_key = self.first_key_inner(&root); - self.remove_helper(root, &first_key) + self.remove_helper(root, &first_key, 0) .map(|v| (first_key, V::from_bytes(Cow::Owned(v)))) } /// A helper method for recursively removing a key from the B-tree. - fn remove_helper(&mut self, mut node: Node, key: &K) -> Option> { + fn remove_helper(&mut self, mut node: Node, key: &K, depth: u8) -> Option> { if node.address() != self.root_addr { // We're guaranteed that whenever this method is called an entry can be // removed from the node without it needing to be merged into a sibling. @@ -1056,7 +1067,11 @@ where // Recursively delete the predecessor. // TODO(EXC-1034): Do this in a single pass. let predecessor = self.last_entry_inner(&left_child); - self.remove_helper(left_child, &predecessor.0)?; + self.remove_helper( + left_child, + &predecessor.0, + depth.saturating_add(1), + )?; // Replace the `key` with its predecessor. let (_, old_value) = node.swap_entry(idx, predecessor, self.memory()); @@ -1091,7 +1106,7 @@ where // Recursively delete the successor. // TODO(EXC-1034): Do this in a single pass. let successor = self.first_entry_inner(&right_child); - self.remove_helper(right_child, &successor.0)?; + self.remove_helper(right_child, &successor.0, depth.saturating_add(1))?; // Replace the `key` with its successor. let (_, old_value) = node.swap_entry(idx, successor, self.memory()); @@ -1151,7 +1166,7 @@ where self.save_node(&mut new_child); // Recursively delete the key. - self.remove_helper(new_child, key) + self.remove_helper(new_child, key, depth.saturating_add(1)) } Err(idx) => { // Case 3: The node is an internal node and the key does NOT exist in it. @@ -1159,11 +1174,14 @@ where // If the key does exist in the tree, it will exist in the subtree at index // `idx`. let mut child = self.take_or_load_node(node.child(idx)); + let child_depth = depth.saturating_add(1); if child.can_remove_entry_without_merging() { // The child has enough nodes. Recurse to delete the `key` from the - // `child`. The current node is not modified. - return self.remove_helper(child, key); + // `child`. + // The current node is not modified — return it to cache. + self.return_node(node, depth); + return self.remove_helper(child, key, child_depth); } // An entry can't be removed from the child without merging. @@ -1233,7 +1251,7 @@ where self.save_node(left_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key); + return self.remove_helper(child, key, child_depth); } } @@ -1288,7 +1306,7 @@ where self.save_node(right_sibling); self.save_node(&mut child); self.save_node(&mut node); - return self.remove_helper(child, key); + return self.remove_helper(child, key, child_depth); } } @@ -1319,7 +1337,7 @@ where self.save_node(&mut node); } - return self.remove_helper(left_sibling, key); + return self.remove_helper(left_sibling, key, child_depth); } if let Some(right_sibling) = right_sibling { @@ -1348,7 +1366,7 @@ where self.save_node(&mut node); } - return self.remove_helper(right_sibling, key); + return self.remove_helper(right_sibling, key, child_depth); } unreachable!("At least one of the siblings must exist."); From 798cf8cbe74c9c43ce9cade98d71afde8b98e2c9 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 10:28:52 +0200 Subject: [PATCH 06/18] canbench --persist --- benchmarks/btreeset/canbench_results.yml | 208 +++++++++++------------ 1 file changed, 104 insertions(+), 104 deletions(-) diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 7031b5e1..5d9dfe91 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,700 +2,700 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 7266956788 - heap_increase: 1 + instructions: 4047588598 + heap_increase: 2 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 1637831818 + instructions: 980578268 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 716728742 + instructions: 448987868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 2446289537 - heap_increase: 0 + instructions: 1458659252 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 815783126 + instructions: 539418814 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 4050903852 - heap_increase: 0 + instructions: 2317435953 + heap_increase: 1 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 981533677 + instructions: 643815037 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 695107777 + instructions: 433679440 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 541229279 + instructions: 361350210 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 562562358 + instructions: 374392842 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_1024: total: calls: 1 - instructions: 101680337 + instructions: 101978640 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_128: total: calls: 1 - instructions: 16712295 + instructions: 16723968 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_16: total: calls: 1 - instructions: 3049602 + instructions: 3045929 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 28981189 + instructions: 29363375 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4315571 + instructions: 4314939 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_512: total: calls: 1 - instructions: 53201464 + instructions: 53641183 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_64: total: calls: 1 - instructions: 9211343 + instructions: 9214501 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2793050 + instructions: 2790448 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1921673 + instructions: 1928820 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1964949 + instructions: 1977793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_1024: total: calls: 1 - instructions: 43769567 + instructions: 43924521 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_128: total: calls: 1 - instructions: 7897406 + instructions: 7905767 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1907832 + instructions: 1903859 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13164529 + instructions: 13420957 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2539466 + instructions: 2537325 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_512: total: calls: 1 - instructions: 23366500 + instructions: 23628383 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4381408 + instructions: 4393106 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1850635 + instructions: 1829254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1316543 + instructions: 1300789 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1343356 + instructions: 1361027 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_1024: total: calls: 1 - instructions: 358419 + instructions: 360237 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_128: total: calls: 1 - instructions: 85062 + instructions: 86392 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_16: total: calls: 1 - instructions: 53155 + instructions: 53912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 124179 + instructions: 126444 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 44795 + instructions: 44300 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_512: total: calls: 1 - instructions: 202259 + instructions: 204494 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55209 + instructions: 55638 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 51777 + instructions: 53437 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 42450 + instructions: 43249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 43256 + instructions: 44388 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_1024: total: calls: 1 - instructions: 78740555 + instructions: 78985042 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_128: total: calls: 1 - instructions: 13352888 + instructions: 13355655 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2920490 + instructions: 2907002 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 23003003 + instructions: 23198099 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4069766 + instructions: 4085112 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_512: total: calls: 1 - instructions: 41561193 + instructions: 41782994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7266779 + instructions: 7275393 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2727094 + instructions: 2730339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1921351 + instructions: 1921978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1961281 + instructions: 1954685 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 430995530 + instructions: 433983880 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74503150 + instructions: 74446279 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14579696 + instructions: 14567160 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 125787984 + instructions: 128590233 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 20939791 + instructions: 21033845 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 227475530 + instructions: 231285616 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39453577 + instructions: 39446849 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 14004824 + instructions: 13832597 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10667867 + instructions: 10582934 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10908079 + instructions: 10794179 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 259870196 + instructions: 261366177 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45508439 + instructions: 45358173 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9508605 + instructions: 9446863 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 76456411 + instructions: 77953594 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13294157 + instructions: 13183876 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 137589173 + instructions: 139731521 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24443488 + instructions: 24326282 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 9144616 + instructions: 9272815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6480292 + instructions: 6464767 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6624379 + instructions: 6598951 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 7723769472 + instructions: 4090197506 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 1667435780 - heap_increase: 0 + instructions: 931840717 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 706481770 + instructions: 408483789 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 2535147032 + instructions: 1417680059 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 803118519 + instructions: 493558187 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 4262483247 + instructions: 2294490007 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 988152388 + instructions: 601008605 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 684602545 + instructions: 390766214 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 529154304 + instructions: 328762189 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 554060009 + instructions: 343677568 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_1024: total: calls: 1 - instructions: 101670997 + instructions: 101969300 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_128: total: calls: 1 - instructions: 16692203 + instructions: 16703876 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3027274 + instructions: 3023601 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 28962633 + instructions: 29344819 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4281313 + instructions: 4280681 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_512: total: calls: 1 - instructions: 53185980 + instructions: 53625699 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9190483 + instructions: 9193641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2776181 + instructions: 2773579 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1901309 + instructions: 1908456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1935566 + instructions: 1948410 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_1024: total: calls: 1 - instructions: 101691006 + instructions: 101989309 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_128: total: calls: 1 - instructions: 16712212 + instructions: 16723885 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_16: total: calls: 1 - instructions: 3047765 + instructions: 3044092 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 28982642 + instructions: 29364828 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4313788 + instructions: 4313156 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_512: total: calls: 1 - instructions: 53205989 + instructions: 53645708 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_64: total: calls: 1 - instructions: 9210492 + instructions: 9213650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2791177 + instructions: 2788575 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1900823 + instructions: 1907970 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1969072 + instructions: 1981916 heap_increase: 0 stable_memory_increase: 0 scopes: {} From 9c46b2a8f034a5b330b0153ede7eab5302493e9a Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 11:01:59 +0200 Subject: [PATCH 07/18] update benchmarks set --- benchmarks/btreemap/canbench_results.yml | 626 +++++++++++++---------- benchmarks/btreemap/src/main.rs | 405 ++++++++++++--- 2 files changed, 695 insertions(+), 336 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 69678b5c..5b129e89 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -9,147 +9,168 @@ benches: btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899307877 + instructions: 459052738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 284700603 + instructions: 114509199 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 278400263 + instructions: 114121460 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 238994959 + instructions: 115041648 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190983875 + instructions: 79879287 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 249140887 + instructions: 121942320 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 737328892 + instructions: 643053116 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 601234528 + instructions: 529075641 heap_increase: 0 stable_memory_increase: 0 scopes: {} - btreemap_v2_contains_u64_u64: + btreemap_v2_contains_then_remove_u64_u64_nocache: total: calls: 1 - instructions: 170544475 + instructions: 791402755 heap_increase: 0 stable_memory_increase: 0 scopes: {} + btreemap_v2_contains_u64_u64: + total: + calls: 1 + instructions: 72677666 + heap_increase: 1 + stable_memory_increase: 0 + scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 294566368 + instructions: 145649646 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 294566368 + instructions: 145649646 heap_increase: 0 stable_memory_increase: 0 scopes: {} + btreemap_v2_contains_zipf_10k_u64_u64: + total: + calls: 1 + instructions: 47124344 + heap_increase: 1 + stable_memory_increase: 0 + scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 456720353 + instructions: 152889846 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 98268585 + instructions: 31984791 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 260187771 + instructions: 195774161 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 104395918 + instructions: 59045019 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55864895 + instructions: 55814038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31506093 + instructions: 31497966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 88705647 + instructions: 32466151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38827140 + instructions: 38774496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38827140 + instructions: 38774496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2337115052 + instructions: 1626740964 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_100k_u64_u64_nocache: + total: + calls: 1 + instructions: 2825742406 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -163,365 +184,400 @@ benches: btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 206296022 + instructions: 86205554 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2976312306 + instructions: 1381693233 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 576549711 + instructions: 274067979 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 223588130 + instructions: 99034370 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904514965 + instructions: 464159582 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 286410545 + instructions: 116219141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 290985294 + instructions: 127093445 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 244084299 + instructions: 120058523 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247580729 + instructions: 117146253 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 249005374 + instructions: 116248763 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244154151 + instructions: 117311101 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 246663703 + instructions: 121203663 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 261907810 + instructions: 124124289 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 250286198 + instructions: 122848193 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 244336697 + instructions: 121407837 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168757609 + instructions: 54172391 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1592223536 + instructions: 758851874 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 335690650 + instructions: 153516861 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 196209954 + instructions: 85092016 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177925419 + instructions: 75819658 + heap_increase: 2 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_miss_u64_u64_nocache: + total: + calls: 1 + instructions: 235378508 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 171576108 - heap_increase: 0 + instructions: 57430583 + heap_increase: 2 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 251001526 + instructions: 123802959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 525420668 + instructions: 387620870 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 374043751 + instructions: 262378169 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_insert_u64_u64_nocache: + total: + calls: 1 + instructions: 603248639 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 752797176 + instructions: 668245331 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 606052238 + instructions: 533530588 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_then_remove_u64_u64_nocache: + total: + calls: 1 + instructions: 795935311 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 194605220 + instructions: 78823261 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 175227606 - heap_increase: 0 + instructions: 77329492 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168409498 + instructions: 81252751 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 265571237 + instructions: 103320761 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1400740731 + instructions: 929894136 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480262653 + instructions: 238053553 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344874737 + instructions: 133014750 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 642692104 + instructions: 374420592 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 272969874 + instructions: 138896221 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445933283 + instructions: 203650678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 301097994 + instructions: 152166411 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308780209 + instructions: 137657021 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 328955088 + instructions: 175765353 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 267678942 + instructions: 137420291 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269966364 + instructions: 141729492 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 348815334 + instructions: 184878375 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 288315522 + instructions: 144240015 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266890408 + instructions: 140425015 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 208418900 + instructions: 73831374 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031984631 + instructions: 562012999 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402136517 + instructions: 185178339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281500794 + instructions: 115364535 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1985125352 + instructions: 1082337536 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_zipf_100k_u64_u64_nocache: + total: + calls: 1 + instructions: 2743225178 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140483385 + instructions: 51791276 + heap_increase: 1 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_get_zipf_10k_u64_u64_nocache: + total: + calls: 1 + instructions: 226994711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87640960 + instructions: 35526020 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4359189111 - heap_increase: 0 + instructions: 3557982086 + heap_increase: 4 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: @@ -534,707 +590,742 @@ benches: btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 350403845 - heap_increase: 0 + instructions: 299269234 + heap_increase: 1 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4226856138 - heap_increase: 2 + instructions: 3324013918 + heap_increase: 18 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 925511897 - heap_increase: 0 + instructions: 755313636 + heap_increase: 3 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 407385683 - heap_increase: 0 + instructions: 344172390 + heap_increase: 1 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1433201019 - heap_increase: 0 + instructions: 1136600205 + heap_increase: 5 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 414878236 - heap_increase: 0 + instructions: 339493313 + heap_increase: 1 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 651273484 - heap_increase: 0 + instructions: 569530964 + heap_increase: 1 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 459715321 - heap_increase: 0 + instructions: 389630824 + heap_increase: 1 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 450199352 - heap_increase: 0 + instructions: 373086395 + heap_increase: 1 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 489453016 - heap_increase: 0 + instructions: 418873112 + heap_increase: 1 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 444495719 - heap_increase: 0 + instructions: 373556897 + heap_increase: 2 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 431130861 - heap_increase: 0 + instructions: 367542889 + heap_increase: 1 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 555006942 - heap_increase: 0 + instructions: 476990464 + heap_increase: 1 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 458223998 - heap_increase: 0 + instructions: 382097213 + heap_increase: 1 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 435423472 - heap_increase: 0 + instructions: 366733468 + heap_increase: 1 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 330531532 + instructions: 288663324 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2321892379 - heap_increase: 1 + instructions: 1865148581 + heap_increase: 10 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 578928000 - heap_increase: 0 + instructions: 474134457 + heap_increase: 2 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 379513456 - heap_increase: 0 + instructions: 324355594 + heap_increase: 1 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 293719122 + instructions: 217760542 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_insert_overwrite_u64_u64_nocache: + total: + calls: 1 + instructions: 370110623 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 262879446 + instructions: 211312431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 410001567 - heap_increase: 0 + instructions: 342309314 + heap_increase: 1 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 345573793 + instructions: 333847360 heap_increase: 0 stable_memory_increase: 8 scopes: {} - btreemap_v2_insert_u64_blob8: + btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 359057380 + instructions: 483582917 heap_increase: 0 + stable_memory_increase: 8 + scopes: {} + btreemap_v2_insert_u64_blob8: + total: + calls: 1 + instructions: 303020890 + heap_increase: 1 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 362654357 - heap_increase: 0 + instructions: 308352061 + heap_increase: 1 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 358839532 + instructions: 310531824 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 447591852 + instructions: 386721753 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2242992700 + instructions: 1990176889 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 882756627 + instructions: 751238652 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 579850278 + instructions: 479487059 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1205115702 + instructions: 1046975871 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 521439540 + instructions: 437672906 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1067293052 + instructions: 937002624 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 648468583 + instructions: 556159679 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 573577474 + instructions: 480503524 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 752556370 + instructions: 673169454 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 569507947 + instructions: 484468980 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 549632782 + instructions: 471676125 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 850192016 + instructions: 758717983 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 577477379 + instructions: 501128985 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 543833825 + instructions: 468887273 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 447194867 - heap_increase: 1 + instructions: 398606514 + heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1603705203 + instructions: 1383007757 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 739395069 + instructions: 616288224 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 540873724 + instructions: 452194859 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150673457 + instructions: 150913397 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536948 + instructions: 32524014 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 173575851 + instructions: 172324343 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 125869280 + instructions: 57795169 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52843912 + instructions: 52786813 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 76730571 + instructions: 77314619 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 86171267 + instructions: 32835714 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 76331266 + instructions: 39099367 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 76331266 + instructions: 39099367 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643368270 + instructions: 762879759 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 213851483 + instructions: 97372658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213889966 - heap_increase: 0 + instructions: 89990474 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 277541381 + instructions: 137800435 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 943851694 + instructions: 574314925 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2404270904 - heap_increase: 1 + instructions: 1925053946 + heap_increase: 9 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 541834846 - heap_increase: 0 + instructions: 480087372 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 444040696 - heap_increase: 0 + instructions: 375351204 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 750272899 + instructions: 678021468 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1657769263 + instructions: 1423292484 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3566540564 + instructions: 3240845821 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824909016 + instructions: 785965381 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 662460099 + instructions: 616583541 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1151241976 + instructions: 1106559904 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2798169912 + instructions: 2652463406 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 336197164 + instructions: 248456610 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: + total: + calls: 1 + instructions: 574963826 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 494309600 + instructions: 456236768 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 491016301 + instructions: 432897500 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_peek_then_pop_last_u64_u64_nocache: + total: + calls: 1 + instructions: 870538958 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1678284496 + instructions: 1596841051 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 459397573 + instructions: 444318127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 825158998 + instructions: 794281925 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 540283836 + instructions: 526030865 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 380819749 + instructions: 362988540 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 485436193 + instructions: 456260500 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 447104214 + instructions: 427968801 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 753744141 + instructions: 730595422 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 753744141 + instructions: 730595422 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1629078804 + instructions: 1525881390 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 431767607 + instructions: 419849361 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 782512729 + instructions: 767312649 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 524388036 + instructions: 502040092 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 363254449 + instructions: 347011535 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 472224966 + instructions: 438106900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 436232279 + instructions: 404864125 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 741853658 + instructions: 713898838 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 741853658 + instructions: 713898838 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 18411 + instructions: 18009 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2410332 + instructions: 2398607 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_20_10mib: total: calls: 1 - instructions: 18468866 + instructions: 18468765 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 18388 + instructions: 17980 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2476135 + instructions: 2464405 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_20_10mib: total: calls: 1 - instructions: 18470105 + instructions: 18469999 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18486376 + instructions: 18307250 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 18755 + instructions: 18347 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20803028 + instructions: 20812541 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_20_10mib: total: calls: 1 - instructions: 398305332 + instructions: 398305226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6477731469 + instructions: 5833761922 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_remove_100k_u64_u64_nocache: + total: + calls: 1 + instructions: 7035220331 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1248,420 +1339,427 @@ benches: btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 496992994 + instructions: 458178142 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6198739992 + instructions: 5530441120 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1350978244 + instructions: 1227799615 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 589555481 + instructions: 546432097 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2029585917 + instructions: 1856261151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 593575959 + instructions: 538136136 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 944933972 + instructions: 888716700 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 659157412 + instructions: 614139477 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 628614551 + instructions: 576900726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 703681472 + instructions: 653510003 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 628751644 + instructions: 583482978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 620246433 + instructions: 576530922 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 800254528 + instructions: 753010213 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 657857209 + instructions: 612360994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 617858456 + instructions: 575321665 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 376385637 + instructions: 344886624 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3450154889 + instructions: 3091691539 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 817204117 + instructions: 743342438 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 525716505 + instructions: 486082887 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 602282999 + instructions: 558153497 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 526458173 + instructions: 481666624 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 534835372 + instructions: 498113528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 520506158 + instructions: 487072150 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 646505548 + instructions: 588179112 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4037670588 + instructions: 3846177996 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1304614738 + instructions: 1207179698 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 798264483 + instructions: 730837349 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 1992651736 + instructions: 1875756944 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 745480168 + instructions: 697919835 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1556194599 + instructions: 1455317463 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 908439510 + instructions: 846893597 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 787631024 + instructions: 723098642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1124456456 + instructions: 1057310405 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 777052499 + instructions: 730850989 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 778685006 + instructions: 732829299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1274405565 + instructions: 1206979666 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 845533302 + instructions: 802766147 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 770495022 + instructions: 725512275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 521619159 + instructions: 480054635 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2764659912 + instructions: 2526752827 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1051643676 + instructions: 963628118 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 708526203 + instructions: 650132627 + heap_increase: 0 + stable_memory_increase: 0 + scopes: {} + btreemap_v2_remove_zipf_10k_u64_u64: + total: + calls: 1 + instructions: 201312014 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 982610 + instructions: 975070 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2444806 + instructions: 2416935 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18468788 + instructions: 18468649 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 980455 + instructions: 969691 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2439046 + instructions: 2437493 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18468700 + instructions: 18468641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 980466 + instructions: 981735 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2442662 + instructions: 2423600 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18468754 + instructions: 18468793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 981703 + instructions: 975748 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2440294 + instructions: 2443550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18468732 + instructions: 18468771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1237610 + instructions: 1230070 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56751294 + instructions: 56639767 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103711546 + instructions: 1103711407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1233787 + instructions: 1223023 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56739683 + instructions: 56681219 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103711006 + instructions: 1103710947 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreemap/src/main.rs b/benchmarks/btreemap/src/main.rs index c57c8ab6..b338498d 100644 --- a/benchmarks/btreemap/src/main.rs +++ b/benchmarks/btreemap/src/main.rs @@ -67,6 +67,51 @@ fn generate_random_blocks(count: usize, block_size: usize, rng: &mut Rng) -> Vec .collect() } +enum Position { + First, + Last, +} + +/// Precomputed inverse-CDF table for Zipf sampling. +/// `sample()` returns a 0-based index in [0, n). +struct ZipfSampler { + cdf: Vec, +} + +impl ZipfSampler { + fn new(n: usize, alpha: f64) -> Self { + let mut cdf = Vec::with_capacity(n); + let mut sum = 0.0; + for k in 1..=n { + sum += 1.0 / (k as f64).powf(alpha); + cdf.push(sum); + } + // Normalize to [0, 1]. + let total = sum; + for v in &mut cdf { + *v /= total; + } + Self { cdf } + } + + fn sample(&self, rng: &mut Rng) -> usize { + let u = rng.rand_f64(); + // Binary search for the first CDF entry >= u. + match self.cdf.binary_search_by(|v| v.partial_cmp(&u).unwrap()) { + Ok(i) => i, + Err(i) => i.min(self.cdf.len() - 1), + } + } +} + +// ===================================================================== +// SECTION 1: GENERIC BENCHMARKS +// +// Regression benchmarks for method performance across key/value sizes. +// These run with the default cache configuration and are not intended +// to measure cache-specific behavior. +// ===================================================================== + // Benchmarks for `BTreeMap::insert`, full grid. bench_tests! { // blob K x 128 @@ -457,26 +502,6 @@ pub fn btreemap_v2_contains_10mib_values() -> BenchResult { }) } -/// Helper macro to generate traversal benchmarks. -macro_rules! bench_traversal_tests { - ( - $( - $fn_name:ident, - $helper:ident, - $count:expr, - $value_size:expr, - $traversal_mode:expr - );+ $(;)? - ) => { - $( - #[bench(raw)] - pub fn $fn_name() -> BenchResult { - $helper($count, $value_size, $traversal_mode) - } - )+ - }; -} - // First key value, reduced grid. bench_tests! { // key size variation (fixed Blob128 value) @@ -600,11 +625,6 @@ fn pop_helper_v2(position: Position) -> BenchResult { pop_helper::(btree, position) } -enum Position { - First, - Last, -} - fn pop_helper( mut btree: BTreeMap, position: Position, @@ -626,6 +646,26 @@ fn pop_helper( }) } +/// Helper macro to generate traversal benchmarks. +macro_rules! bench_traversal_tests { + ( + $( + $fn_name:ident, + $helper:ident, + $count:expr, + $value_size:expr, + $traversal_mode:expr + );+ $(;)? + ) => { + $( + #[bench(raw)] + pub fn $fn_name() -> BenchResult { + $helper($count, $value_size, $traversal_mode) + } + )+ + }; +} + bench_traversal_tests! { // 1k items of 0 bytes btreemap_v2_scan_iter_1k_0b, traverse_helper_v2, 1_000, 0, TraversalMode::Iter; @@ -754,9 +794,25 @@ fn range_count_helper_v2(count: usize, size: usize) -> BenchResult { }) } -// --- Benchmarks for deeper trees and realistic access patterns --- +// ===================================================================== +// SECTION 2: CACHE-SPECIFIC BENCHMARKS +// +// Benchmarks that test access patterns where the node cache has a +// measurable impact. All use u64/u64 (or Blob32/Blob128 where noted) +// to keep per-benchmark cost low. +// +// Subsections: +// 2a. Deeper trees (100k items) +// 2b. Access patterns +// 2c. Zipf-distributed workloads +// 2d. Read-then-write combos +// 2e. No-cache baselines (cache=0) for A/B comparison +// ===================================================================== + +// --- 2a: Deeper trees (100k) ---------------------------------------- +// 100K items produce depth 5-6, where cache covers a smaller fraction +// of the total node loads per operation. -// 100K benchmarks: tests depth 5-6 tree where cache covers a smaller fraction of node loads. #[bench(raw)] pub fn btreemap_v2_insert_100k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -807,8 +863,10 @@ pub fn btreemap_v2_remove_100k_u64_u64() -> BenchResult { }) } +// --- 2b: Access patterns -------------------------------------------- + // Update existing keys: insert 10K items, then re-insert all with new values. -// Tests the overwrite path (traverse cached nodes → replace value → invalidate leaf). +// Tests the overwrite path (traverse cached nodes -> replace value -> invalidate leaf). #[bench(raw)] pub fn btreemap_v2_insert_overwrite_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -890,42 +948,11 @@ pub fn btreemap_v2_range_small_u64_u64() -> BenchResult { }) } -// --- Zipf-distributed benchmarks (realistic skewed access patterns) --- - -/// Precomputed inverse-CDF table for Zipf sampling. -/// `sample()` returns a 0-based index in [0, n). -struct ZipfSampler { - cdf: Vec, -} - -impl ZipfSampler { - fn new(n: usize, alpha: f64) -> Self { - let mut cdf = Vec::with_capacity(n); - let mut sum = 0.0; - for k in 1..=n { - sum += 1.0 / (k as f64).powf(alpha); - cdf.push(sum); - } - // Normalize to [0, 1]. - let total = sum; - for v in &mut cdf { - *v /= total; - } - Self { cdf } - } +// --- 2c: Zipf-distributed workloads --------------------------------- +// Realistic skewed access patterns where a small fraction of keys +// receive most accesses. Cache should help significantly here. - fn sample(&self, rng: &mut Rng) -> usize { - let u = rng.rand_f64(); - // Binary search for the first CDF entry >= u. - match self.cdf.binary_search_by(|v| v.partial_cmp(&u).unwrap()) { - Ok(i) => i, - Err(i) => i.min(self.cdf.len() - 1), - } - } -} - -// Zipf get on 10K tree, α=1.0 (classic Zipf's law). -// A small fraction of keys receive most accesses — cache should help significantly. +// Zipf get on 10K tree, alpha=1.0 (classic Zipf's law). #[bench(raw)] pub fn btreemap_v2_get_zipf_10k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -946,8 +973,8 @@ pub fn btreemap_v2_get_zipf_10k_u64_u64() -> BenchResult { }) } -// Zipf get on 100K tree, α=1.0. -// Deeper tree (depth 5-6) where cache covers a smaller fraction — Zipf locality compensates. +// Zipf get on 100K tree, alpha=1.0. +// Deeper tree (depth 5-6) where cache covers a smaller fraction. #[bench(raw)] pub fn btreemap_v2_get_zipf_100k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -968,7 +995,7 @@ pub fn btreemap_v2_get_zipf_100k_u64_u64() -> BenchResult { }) } -// Zipf get on 10K tree, α=1.5 (heavy skew — top ~1% of keys get ~90% of accesses). +// Zipf get on 10K tree, alpha=1.5 (heavy skew -- top ~1% of keys get ~90% of accesses). // Shows cache near its best: hot paths stay resident. #[bench(raw)] pub fn btreemap_v2_get_zipf_heavy_10k_u64_u64() -> BenchResult { @@ -990,8 +1017,8 @@ pub fn btreemap_v2_get_zipf_heavy_10k_u64_u64() -> BenchResult { }) } -// Zipf overwrites on 10K tree, α=1.0. -// Hot keys are updated frequently — tests cache invalidation under skewed writes. +// Zipf overwrites on 10K tree, alpha=1.0. +// Hot keys are updated frequently -- tests cache invalidation under skewed writes. #[bench(raw)] pub fn btreemap_v2_insert_overwrite_zipf_10k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -1014,9 +1041,8 @@ pub fn btreemap_v2_insert_overwrite_zipf_10k_u64_u64() -> BenchResult { }) } -// Zipf misses on 10K tree, α=1.0. +// Zipf misses on 10K tree, alpha=1.0. // Hot missing keys repeatedly traverse the same tree paths without finding a match. -// Pure traversal cost — cache benefit is proportionally larger with no value-read cost. #[bench(raw)] pub fn btreemap_v2_get_miss_zipf_10k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -1040,7 +1066,57 @@ pub fn btreemap_v2_get_miss_zipf_10k_u64_u64() -> BenchResult { }) } -// --- Read-then-write benchmarks (cache warmed by read, reused by write) --- +// Zipf contains_key on 10K tree, alpha=1.0. +// Cheapest traversal (no value deser) -- cache savings are proportionally largest. +#[bench(raw)] +pub fn btreemap_v2_contains_zipf_10k_u64_u64() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + let zipf = ZipfSampler::new(count, 1.0); + let access: Vec = (0..count).map(|_| keys[zipf.sample(&mut rng)]).collect(); + bench_fn(|| { + for key in access { + btree.contains_key(&key); + } + }) +} + +// Zipf remove on 10K tree, alpha=1.0. +// Tests cache invalidation under skewed deletes -- hot nodes are modified/merged frequently. +#[bench(raw)] +pub fn btreemap_v2_remove_zipf_10k_u64_u64() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + // Select keys to remove with Zipf distribution. + // Some keys will be selected multiple times; remove() on an already-removed key is a miss. + let zipf = ZipfSampler::new(count, 1.0); + let to_remove: Vec = (0..count) + .map(|_| keys[zipf.sample(&mut rng)]) + .collect(); + bench_fn(|| { + for key in to_remove { + btree.remove(&key); + } + }) +} + +// --- 2d: Read-then-write combos ------------------------------------- +// Patterns where a read warms the cache path and the subsequent write +// reuses it. These are common real-world usage patterns. // Get-then-remove: get(k) warms the cache path, remove(k) reuses it. #[bench(raw)] @@ -1137,7 +1213,7 @@ fn contains_then_remove_helper( } // Interleaved mixed: Zipf-distributed get/insert on 10K tree. -// Hot keys are read then written — maximum cache reuse. +// Hot keys are read then written -- maximum cache reuse. #[bench(raw)] pub fn btreemap_v2_mixed_get_insert_zipf_10k_u64_u64() -> BenchResult { let mut btree = BTreeMap::new(DefaultMemoryImpl::default()); @@ -1200,4 +1276,189 @@ fn peek_then_pop_helper( }) } +// --- 2e: No-cache baselines (cache=0) -------------------------------- +// Mirror the most cache-sensitive benchmarks above with the cache +// disabled, providing an A/B comparison to quantify cache impact. + +#[bench(raw)] +pub fn btreemap_v2_get_100k_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 100_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let keys: Vec = items.into_iter().map(|(k, _)| k).collect(); + bench_fn(|| { + for key in keys { + btree.get(&key); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_remove_100k_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 100_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let keys: Vec = items.into_iter().map(|(k, _)| k).collect(); + bench_fn(|| { + for key in keys { + btree.remove(&key); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_insert_overwrite_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items.clone() { + btree.insert(k, v); + } + + let new_items: Vec<(u64, u64)> = items + .into_iter() + .map(|(k, _)| (k, rng.rand_u64())) + .collect(); + bench_fn(|| { + for (k, v) in new_items { + btree.insert(k, v); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_get_miss_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + for (k, v) in items { + btree.insert(k, v); + } + + let miss_keys: Vec = (0..count).map(|_| rng.rand_u64()).collect(); + bench_fn(|| { + for key in miss_keys { + btree.get(&key); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_insert_seq_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 10_000u64; + let mut rng = Rng::from_seed(0); + + let items: Vec<(u64, u64)> = (0..count).map(|i| (i, rng.rand_u64())).collect(); + bench_fn(|| { + for (k, v) in items { + btree.insert(k, v); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_get_zipf_10k_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + let zipf = ZipfSampler::new(count, 1.0); + let access: Vec = (0..count).map(|_| keys[zipf.sample(&mut rng)]).collect(); + bench_fn(|| { + for key in access { + btree.get(&key); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_get_zipf_100k_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 100_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + let zipf = ZipfSampler::new(count, 1.0); + let access: Vec = (0..count).map(|_| keys[zipf.sample(&mut rng)]).collect(); + bench_fn(|| { + for key in access { + btree.get(&key); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_get_then_remove_u64_u64_nocache() -> BenchResult { + get_then_remove_helper::( + BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0), + ) +} + +#[bench(raw)] +pub fn btreemap_v2_get_then_insert_u64_u64_nocache() -> BenchResult { + get_then_insert_helper::( + BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0), + ) +} + +#[bench(raw)] +pub fn btreemap_v2_contains_then_remove_u64_u64_nocache() -> BenchResult { + contains_then_remove_helper::( + BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0), + ) +} + +#[bench(raw)] +pub fn btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache() -> BenchResult { + let mut btree = BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0); + let count = 10_000; + let mut rng = Rng::from_seed(0); + let items = generate_random_kv::(count, &mut rng); + let keys: Vec = items.iter().map(|(k, _)| *k).collect(); + for (k, v) in items { + btree.insert(k, v); + } + + let zipf = ZipfSampler::new(count, 1.0); + let ops: Vec<(u64, u64)> = (0..count) + .map(|_| (keys[zipf.sample(&mut rng)], rng.rand_u64())) + .collect(); + bench_fn(|| { + for (k, v) in ops { + btree.get(&k); + btree.insert(k, v); + } + }) +} + +#[bench(raw)] +pub fn btreemap_v2_peek_then_pop_last_u64_u64_nocache() -> BenchResult { + peek_then_pop_helper::( + BTreeMap::new(DefaultMemoryImpl::default()).with_node_cache(0), + Position::Last, + ) +} + fn main() {} From 603083b7c18575f009dbf670dc16a39d48375aa5 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 11:59:14 +0200 Subject: [PATCH 08/18] canbench --persist --- benchmarks/btreemap/canbench_results.yml | 589 ++++++++++------------- 1 file changed, 249 insertions(+), 340 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index d8122c49..f900a93b 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -9,56 +9,56 @@ benches: btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 459052738 + instructions: 899307877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 114509199 + instructions: 284700603 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 114121460 + instructions: 278400263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 115041648 + instructions: 238994959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 79879287 + instructions: 190983875 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 121942320 + instructions: 249140887 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 643053116 + instructions: 737328892 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 529075641 + instructions: 601234528 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -69,122 +69,101 @@ benches: heap_increase: 0 stable_memory_increase: 0 scopes: {} - btreemap_v2_contains_then_remove_blob_32_128: - total: - calls: 1 - instructions: 935182118 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_contains_then_remove_u64_u64: - total: - calls: 1 - instructions: 740231860 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_contains_then_remove_u64_u64_nocache: - total: - calls: 1 - instructions: 785607136 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 72677666 - heap_increase: 1 + instructions: 170544475 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 145649646 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 145649646 + instructions: 294566368 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_zipf_10k_u64_u64: total: calls: 1 - instructions: 135393801 + instructions: 135748528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 152889846 + instructions: 456720353 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 31984791 + instructions: 98268585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 195774161 + instructions: 260187771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 59045019 + instructions: 104395918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55814038 + instructions: 55864895 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31497966 + instructions: 31506093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 32466151 + instructions: 88705647 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38774496 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38774496 + instructions: 38827140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 1626740964 + instructions: 2337115052 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -195,13 +174,6 @@ benches: heap_increase: 0 stable_memory_increase: 0 scopes: {} - btreemap_v2_get_100k_u64_u64_nocache: - total: - calls: 1 - instructions: 2825742493 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} btreemap_v2_get_10mib_values: total: calls: 1 @@ -212,182 +184,175 @@ benches: btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 86205554 + instructions: 206296022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 1381693233 + instructions: 2976312306 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 274067979 + instructions: 576549711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 99034370 + instructions: 223588130 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 464159582 + instructions: 904514965 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 116219141 + instructions: 286410545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 127093445 + instructions: 290985294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 120058523 + instructions: 244084299 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 117146253 + instructions: 247580729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 116248763 + instructions: 249005374 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 117311101 + instructions: 244154151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 121203663 + instructions: 246663703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 124124289 + instructions: 261907810 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 122848193 + instructions: 250286198 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 121407837 + instructions: 244336697 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 54172391 + instructions: 168757609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 758851874 + instructions: 1592223536 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 153516861 + instructions: 335690650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 85092016 + instructions: 196209954 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 75819658 - heap_increase: 2 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_miss_u64_u64_nocache: - total: - calls: 1 - instructions: 235378508 + instructions: 177925419 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64_nocache: total: calls: 1 - instructions: 235378595 + instructions: 235378508 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 57430583 - heap_increase: 2 + instructions: 171576108 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 123802959 + instructions: 251001526 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 387620870 + instructions: 525420668 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 262378169 + instructions: 374043751 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -401,14 +366,14 @@ benches: btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 668245331 + instructions: 752797176 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 533530588 + instructions: 606052238 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -419,206 +384,164 @@ benches: heap_increase: 0 stable_memory_increase: 0 scopes: {} - btreemap_v2_get_then_insert_blob_32_128: - total: - calls: 1 - instructions: 772136939 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_then_insert_u64_u64: - total: - calls: 1 - instructions: 542500156 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_then_insert_u64_u64_nocache: - total: - calls: 1 - instructions: 594578003 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_then_remove_blob_32_128: - total: - calls: 1 - instructions: 966918469 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_then_remove_u64_u64: - total: - calls: 1 - instructions: 744770315 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_then_remove_u64_u64_nocache: - total: - calls: 1 - instructions: 790139692 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 78823261 + instructions: 194605220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 77329492 - heap_increase: 1 + instructions: 175227606 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 81252751 + instructions: 168409498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 103320761 + instructions: 265571237 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 929894136 + instructions: 1400740731 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 238053553 + instructions: 480262653 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 133014750 + instructions: 344874737 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 374420592 + instructions: 642692104 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 138896221 + instructions: 272969874 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 203650678 + instructions: 445933283 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 152166411 + instructions: 301097994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 137657021 + instructions: 308780209 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 175765353 + instructions: 328955088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 137420291 + instructions: 267678942 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 141729492 + instructions: 269966364 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 184878375 + instructions: 348815334 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 144240015 + instructions: 288315522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 140425015 + instructions: 266890408 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 73831374 + instructions: 208418900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 562012999 + instructions: 1031984631 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 185178339 + instructions: 402136517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 115364535 + instructions: 281500794 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1082337536 + instructions: 1985125352 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -629,724 +552,710 @@ benches: heap_increase: 0 stable_memory_increase: 0 scopes: {} - btreemap_v2_get_zipf_100k_u64_u64_nocache: - total: - calls: 1 - instructions: 2743225280 - heap_increase: 0 - stable_memory_increase: 0 - scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 51791276 - heap_increase: 1 - stable_memory_increase: 0 - scopes: {} - btreemap_v2_get_zipf_10k_u64_u64_nocache: - total: - calls: 1 - instructions: 226994711 + instructions: 140483385 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 226994813 + instructions: 226994711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 35526020 + instructions: 87640960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4783069961 + instructions: 4359189111 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4389920873 + instructions: 4385449310 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 438891007 + instructions: 350403845 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 5498621739 - heap_increase: 0 + instructions: 4226856138 + heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 1183240670 + instructions: 925511897 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 488586148 + instructions: 407385683 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1791440822 + instructions: 1433201019 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 492829237 + instructions: 414878236 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 705873529 + instructions: 651273484 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 544934108 + instructions: 459715321 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 521502709 + instructions: 450199352 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 573067512 + instructions: 489453016 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 531331458 + instructions: 444495719 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 511755349 + instructions: 431130861 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 612438263 + instructions: 555006942 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 537296782 + instructions: 458223998 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 519958093 + instructions: 435423472 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 409378756 + instructions: 330531532 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 3043628657 - heap_increase: 0 + instructions: 2321892379 + heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 663570679 + instructions: 578928000 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 460891400 + instructions: 379513456 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 361880515 + instructions: 293719122 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_u64_u64_nocache: total: calls: 1 - instructions: 361439987 + instructions: 370110623 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 351678455 + instructions: 262879446 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 504411405 + instructions: 410001567 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 475747680 + instructions: 345573793 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 475044736 + instructions: 483582917 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 408807071 + instructions: 359057380 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 416641538 + instructions: 362654357 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 412435236 + instructions: 358839532 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 595085830 + instructions: 447591852 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2745312743 + instructions: 2242992700 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 1013486767 + instructions: 882756627 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 709962271 + instructions: 579850278 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1402961414 + instructions: 1205115702 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 622901933 + instructions: 521439540 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1183025750 + instructions: 1067293052 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 757068356 + instructions: 648468583 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 667248591 + instructions: 573577474 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 870137550 + instructions: 752556370 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 662703096 + instructions: 569507947 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 661403160 + instructions: 549632782 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 974550283 + instructions: 850192016 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 692676738 + instructions: 577477379 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 660889456 + instructions: 543833825 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 605196201 - heap_increase: 0 + instructions: 447194867 + heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1859866730 + instructions: 1603705203 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 847258662 + instructions: 739395069 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 667223395 + instructions: 540873724 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150913397 + instructions: 150673457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32524014 + instructions: 32536948 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 172324343 + instructions: 173575851 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 57795169 + instructions: 125869280 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52786813 + instructions: 52843912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 77314619 + instructions: 76730571 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 32835714 + instructions: 86171267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 39099367 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 39099367 + instructions: 76331266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 762879759 + instructions: 1643368270 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 97372658 + instructions: 213851483 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213163935 + instructions: 213889966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 276514725 + instructions: 277541381 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 939857595 + instructions: 943851694 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 3128614878 - heap_increase: 0 + instructions: 2404270904 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 608204362 + instructions: 541834846 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 521480782 + instructions: 444040696 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 836012178 + instructions: 750272899 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1966511677 + instructions: 1657769263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 4317279925 + instructions: 3566540564 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 884294544 + instructions: 824909016 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 740622806 + instructions: 662460099 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1225617749 + instructions: 1151241976 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 3091695677 + instructions: 2798169912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 499914751 + instructions: 336197164 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 568541315 + instructions: 574963826 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 651744950 + instructions: 494309600 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 644042314 + instructions: 491016301 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64_nocache: total: calls: 1 - instructions: 863829827 + instructions: 870538958 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 2563046017 + instructions: 1678284496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 675954446 + instructions: 459397573 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 1012361706 + instructions: 825158998 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 765982003 + instructions: 540283836 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 532398781 + instructions: 380819749 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 707659441 + instructions: 485436193 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 606501460 + instructions: 447104214 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 1006110791 + instructions: 753744141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 1006110791 + instructions: 753744141 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 2470730714 + instructions: 1629078804 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 646592807 + instructions: 431767607 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 978992235 + instructions: 782512729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 734719065 + instructions: 524388036 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 522357978 + instructions: 363254449 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 693209769 + instructions: 472224966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 586840408 + instructions: 436232279 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 980671184 + instructions: 741853658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 980671184 + instructions: 741853658 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 16962 + instructions: 18434 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2507196 + instructions: 2403569 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1360,14 +1269,14 @@ benches: btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 16933 + instructions: 18405 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2572994 + instructions: 2469367 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1381,21 +1290,21 @@ benches: btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18511700 + instructions: 18509425 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 17300 + instructions: 18772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20668618 + instructions: 20796260 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1409,448 +1318,448 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 7022692402 + instructions: 6477731469 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64_nocache: total: calls: 1 - instructions: 6946036989 + instructions: 7035220331 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4711743233 + instructions: 4705256170 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 589474565 + instructions: 496992994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 7376484425 + instructions: 6198739992 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1593634275 + instructions: 1350978244 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 670124837 + instructions: 589555481 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2427157860 + instructions: 2029585917 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 659537403 + instructions: 593575959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 988057066 + instructions: 944933972 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 751001305 + instructions: 659157412 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 705881103 + instructions: 628614551 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 788310166 + instructions: 703681472 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 717055240 + instructions: 628751644 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 702694917 + instructions: 620246433 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 862386341 + instructions: 800254528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 742478425 + instructions: 657857209 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 701873440 + instructions: 617858456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 455594905 + instructions: 376385637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 4079560625 + instructions: 3450154889 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 914727976 + instructions: 817204117 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 603742474 + instructions: 525716505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 689802715 + instructions: 602282999 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 570830806 + instructions: 526458173 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 592564033 + instructions: 534835372 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 575957691 + instructions: 520506158 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 760926731 + instructions: 646505548 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4481754088 + instructions: 4037670588 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1437976876 + instructions: 1304614738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 921437947 + instructions: 798264483 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2247133745 + instructions: 1992651736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 839222274 + instructions: 745480168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1699140827 + instructions: 1556194599 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 1039734400 + instructions: 908439510 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 874337216 + instructions: 787631024 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1256268362 + instructions: 1124456456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 871500163 + instructions: 777052499 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 868223400 + instructions: 778685006 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1407502741 + instructions: 1274405565 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 972053378 + instructions: 845533302 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 860909525 + instructions: 770495022 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 662018544 + instructions: 521619159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 3085402195 + instructions: 2764659912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1186045982 + instructions: 1051643676 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 824084166 + instructions: 708526203 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 344394694 + instructions: 268241778 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 975992 + instructions: 975780 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2491763 + instructions: 2437976 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18467176 + instructions: 18468649 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 978166 + instructions: 977625 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2475597 + instructions: 2436216 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18467168 + instructions: 18468641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 982657 + instructions: 982445 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2498428 + instructions: 2444641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18467320 + instructions: 18468793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 984223 + instructions: 983682 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2481654 + instructions: 2442273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18467298 + instructions: 18468771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1230992 + instructions: 1230780 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56740279 + instructions: 56744464 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103710894 + instructions: 1103711407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1231498 + instructions: 1230957 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56683107 + instructions: 56736853 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103710405 + instructions: 1103710947 heap_increase: 0 stable_memory_increase: 0 scopes: {} From 93c62ade2c553e4d331c18a8f669ada7fd4147b9 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 12:26:28 +0200 Subject: [PATCH 09/18] btreeset canbench --persist --- benchmarks/btreeset/canbench_results.yml | 176 +++++++++++------------ 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 5d9dfe91..018d700d 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,70 +2,70 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 4047588598 - heap_increase: 2 + instructions: 4370600533 + heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 980578268 + instructions: 1052928300 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 448987868 + instructions: 479019393 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 1458659252 - heap_increase: 1 + instructions: 1553428414 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 539418814 + instructions: 554015159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 2317435953 - heap_increase: 1 + instructions: 2456872099 + heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 643815037 + instructions: 658487939 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 433679440 + instructions: 449841814 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 361350210 + instructions: 375227669 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 374392842 + instructions: 395018843 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -86,21 +86,21 @@ benches: btreeset_intersection_blob_16: total: calls: 1 - instructions: 3045929 + instructions: 3051868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 29363375 + instructions: 29443637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4314939 + instructions: 4327910 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -114,28 +114,28 @@ benches: btreeset_intersection_blob_64: total: calls: 1 - instructions: 9214501 + instructions: 9225521 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2790448 + instructions: 2792093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1928820 + instructions: 1923705 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1977793 + instructions: 1977872 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -156,21 +156,21 @@ benches: btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1903859 + instructions: 1916698 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13420957 + instructions: 13366194 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2537325 + instructions: 2534763 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -184,28 +184,28 @@ benches: btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4393106 + instructions: 4389872 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1829254 + instructions: 1858157 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1300789 + instructions: 1323165 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1361027 + instructions: 1342906 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -226,21 +226,21 @@ benches: btreeset_is_subset_blob_16: total: calls: 1 - instructions: 53912 + instructions: 53871 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 126444 + instructions: 126952 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 44300 + instructions: 45824 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -254,28 +254,28 @@ benches: btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55638 + instructions: 55736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 53437 + instructions: 52777 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 43249 + instructions: 43375 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 44388 + instructions: 44366 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -296,21 +296,21 @@ benches: btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2907002 + instructions: 2914600 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 23198099 + instructions: 23246636 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4085112 + instructions: 4090130 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -324,238 +324,238 @@ benches: btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7275393 + instructions: 7274111 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2730339 + instructions: 2730571 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1921978 + instructions: 1917631 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1954685 + instructions: 1958869 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 433983880 + instructions: 431455834 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74446279 + instructions: 74445829 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14567160 + instructions: 14464497 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 128590233 + instructions: 128525460 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 21033845 + instructions: 20890835 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 231285616 + instructions: 230681431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39446849 + instructions: 39341339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 13832597 + instructions: 14020869 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10582934 + instructions: 10489585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10794179 + instructions: 10827476 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 261366177 + instructions: 259617095 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45358173 + instructions: 45412273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9446863 + instructions: 9542281 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 77953594 + instructions: 77975499 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13183876 + instructions: 13182218 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 139731521 + instructions: 138899445 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24326282 + instructions: 24389921 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 9272815 + instructions: 9137345 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6464767 + instructions: 6353816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6598951 + instructions: 6572931 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 4090197506 - heap_increase: 0 + instructions: 4431900590 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 931840717 - heap_increase: 1 + instructions: 1007507170 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 408483789 + instructions: 453676567 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1417680059 + instructions: 1527458752 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 493558187 + instructions: 540399251 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2294490007 - heap_increase: 0 + instructions: 2401233176 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 601008605 + instructions: 653702204 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 390766214 + instructions: 416468385 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 328762189 + instructions: 349787332 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 343677568 + instructions: 363884821 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -576,21 +576,21 @@ benches: btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3023601 + instructions: 3029540 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 29344819 + instructions: 29425081 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4280681 + instructions: 4293652 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -604,28 +604,28 @@ benches: btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9193641 + instructions: 9204661 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2773579 + instructions: 2775224 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1908456 + instructions: 1903341 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1948410 + instructions: 1948489 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -646,21 +646,21 @@ benches: btreeset_union_blob_16: total: calls: 1 - instructions: 3044092 + instructions: 3050031 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 29364828 + instructions: 29445090 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4313156 + instructions: 4326127 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -674,28 +674,28 @@ benches: btreeset_union_blob_64: total: calls: 1 - instructions: 9213650 + instructions: 9224670 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2788575 + instructions: 2790220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1907970 + instructions: 1902855 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1981916 + instructions: 1981995 heap_increase: 0 stable_memory_increase: 0 scopes: {} From 8117c513152b5289968cd5efdd24c0ead039b175 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 12:46:36 +0200 Subject: [PATCH 10/18] todo comments --- src/btreemap.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/btreemap.rs b/src/btreemap.rs index 794bcd4a..fefdad1f 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -732,6 +732,8 @@ where } // The child is full. Split the child. + // TODO: pass the already-loaded `child` into `split_child` + // to avoid re-loading it from stable memory inside that method. self.split_child(&mut node, idx); // The children have now changed. Search again for @@ -1553,6 +1555,9 @@ where } /// Saves the node to memory and invalidates the cache slot. + // TODO: benchmark putting the node back into the cache after saving + // instead of invalidating, so subsequent reads (especially of the root + // and depth-1 nodes) hit the cache. Requires cloning or taking ownership. #[inline] fn save_node(&mut self, node: &mut Node) { node.save(self.allocator_mut()); From 3d47705041ae83d97efec0e5fd008dfef24087a9 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 12:53:55 +0200 Subject: [PATCH 11/18] preserve node when split_child if possible --- benchmarks/btreemap/canbench_results.yml | 460 +++++++++++----------- benchmarks/btreeset/canbench_results.yml | 212 +++++----- benchmarks/io_chunks/canbench_results.yml | 12 +- benchmarks/nns/canbench_results.yml | 18 +- src/btreemap.rs | 18 +- 5 files changed, 362 insertions(+), 358 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index f900a93b..22366bfa 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -9,56 +9,56 @@ benches: btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899307877 + instructions: 899093643 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 284700603 + instructions: 284919279 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 278400263 + instructions: 283280481 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 238994959 + instructions: 238678621 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190983875 + instructions: 190836263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 249140887 + instructions: 249118726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 737328892 + instructions: 737291019 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 601234528 + instructions: 601079231 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -72,98 +72,98 @@ benches: btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 170544475 + instructions: 170994633 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 294566368 + instructions: 293423422 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 294566368 + instructions: 293423422 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_zipf_10k_u64_u64: total: calls: 1 - instructions: 135748528 + instructions: 135743772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 456720353 + instructions: 460470383 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 98268585 + instructions: 96957898 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 260187771 + instructions: 262367714 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 104395918 + instructions: 106415712 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55864895 + instructions: 55864744 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31506093 + instructions: 31505653 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 88705647 + instructions: 90215726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38827140 + instructions: 38537273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38827140 + instructions: 38537273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2337115052 + instructions: 2343388637 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -184,140 +184,140 @@ benches: btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 206296022 + instructions: 206360446 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2976312306 + instructions: 2975511846 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 576549711 + instructions: 576205545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 223588130 + instructions: 225627131 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904514965 + instructions: 904245666 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 286410545 + instructions: 286629221 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 290985294 + instructions: 296034850 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 244084299 + instructions: 243545472 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247580729 + instructions: 247830409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 249005374 + instructions: 251784174 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244154151 + instructions: 244285297 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 246663703 + instructions: 245661346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 261907810 + instructions: 257940545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 250286198 + instructions: 247747084 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 244336697 + instructions: 244366180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168757609 + instructions: 168587522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1592223536 + instructions: 1591956275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 335690650 + instructions: 336203918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 196209954 + instructions: 196047198 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177925419 + instructions: 178307024 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -331,49 +331,49 @@ benches: btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 171576108 + instructions: 171909834 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 251001526 + instructions: 250979365 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 525420668 + instructions: 526319243 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 374043751 + instructions: 374188194 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64_nocache: total: calls: 1 - instructions: 603248639 + instructions: 603216927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 752797176 + instructions: 753296302 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 606052238 + instructions: 605670535 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -387,175 +387,175 @@ benches: btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 194605220 + instructions: 194648488 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 175227606 + instructions: 175700899 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168409498 + instructions: 168427952 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 265571237 + instructions: 268183857 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1400740731 + instructions: 1397196207 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480262653 + instructions: 480112641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344874737 + instructions: 345190182 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 642692104 + instructions: 644583146 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 272969874 + instructions: 273014784 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445933283 + instructions: 445319545 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 301097994 + instructions: 299902762 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308780209 + instructions: 308797196 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 328955088 + instructions: 328551129 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 267678942 + instructions: 267113274 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269966364 + instructions: 269333017 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 348815334 + instructions: 348523919 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 288315522 + instructions: 289056121 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266890408 + instructions: 267129916 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 208418900 + instructions: 211701168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031984631 + instructions: 1030433439 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402136517 + instructions: 402127517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281500794 + instructions: 281721084 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1985125352 + instructions: 1991798722 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64_nocache: total: calls: 1 - instructions: 2743225178 + instructions: 2743225193 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140483385 + instructions: 140464655 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -569,546 +569,546 @@ benches: btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87640960 + instructions: 87684088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4359189111 + instructions: 4277192357 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4385449310 + instructions: 4375302968 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 350403845 + instructions: 343578630 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4226856138 + instructions: 4079649394 heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 925511897 + instructions: 897065111 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 407385683 + instructions: 398424626 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1433201019 + instructions: 1385184984 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 414878236 + instructions: 403675870 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 651273484 + instructions: 641055869 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 459715321 + instructions: 449501862 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 450199352 + instructions: 438740299 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 489453016 + instructions: 479557117 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 444495719 + instructions: 433800217 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 431130861 + instructions: 420501716 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 555006942 + instructions: 542655803 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 458223998 + instructions: 446716725 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 435423472 + instructions: 423370496 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 330531532 + instructions: 325745883 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2321892379 + instructions: 2240782706 heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 578928000 + instructions: 565081888 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 379513456 + instructions: 370959999 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 293719122 + instructions: 293739995 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_u64_u64_nocache: total: calls: 1 - instructions: 370110623 + instructions: 370078911 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 262879446 + instructions: 262853059 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 410001567 + instructions: 398961280 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 345573793 + instructions: 332687690 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 483582917 + instructions: 471497580 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 359057380 + instructions: 351766110 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 362654357 + instructions: 355078972 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 358839532 + instructions: 349983846 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 447591852 + instructions: 435922462 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2242992700 + instructions: 2193547524 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 882756627 + instructions: 863034437 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 579850278 + instructions: 563681682 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1205115702 + instructions: 1179528701 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 521439540 + instructions: 509112572 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1067293052 + instructions: 1049881823 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 648468583 + instructions: 636010996 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 573577474 + instructions: 561405527 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 752556370 + instructions: 737169386 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 569507947 + instructions: 557110032 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 549632782 + instructions: 539284092 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 850192016 + instructions: 834782977 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 577477379 + instructions: 564997102 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 543833825 + instructions: 534524206 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 447194867 + instructions: 438167213 heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1603705203 + instructions: 1567958241 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 739395069 + instructions: 723159343 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 540873724 + instructions: 528294872 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150673457 + instructions: 150673570 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536948 + instructions: 32536422 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 173575851 + instructions: 172436070 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 125869280 + instructions: 125858835 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52843912 + instructions: 52793763 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 76730571 + instructions: 75349926 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 86171267 + instructions: 86931340 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 76331266 + instructions: 76210774 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 76331266 + instructions: 76210774 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643368270 + instructions: 1643325772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 213851483 + instructions: 214214487 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213889966 + instructions: 213714676 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 277541381 + instructions: 277358190 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 943851694 + instructions: 939418249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2404270904 + instructions: 2319315815 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 541834846 + instructions: 533054992 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 444040696 + instructions: 433488467 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 750272899 + instructions: 735490828 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1657769263 + instructions: 1619881032 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3566540564 + instructions: 3566987315 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824909016 + instructions: 824389020 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 662460099 + instructions: 662523984 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1151241976 + instructions: 1144462208 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2798169912 + instructions: 2799793322 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 336197164 + instructions: 336142677 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 574963826 + instructions: 574931074 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 494309600 + instructions: 494220767 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 491016301 + instructions: 489918501 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1122,133 +1122,133 @@ benches: btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1678284496 + instructions: 1678510682 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 459397573 + instructions: 459574750 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 825158998 + instructions: 824742212 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 540283836 + instructions: 541383105 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 380819749 + instructions: 380191265 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 485436193 + instructions: 486357442 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 447104214 + instructions: 447981873 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 753744141 + instructions: 754028349 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 753744141 + instructions: 754028349 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1629078804 + instructions: 1629184912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 431767607 + instructions: 432308275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 782512729 + instructions: 783044805 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 524388036 + instructions: 524243717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 363254449 + instructions: 363462593 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 472224966 + instructions: 471787282 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 436232279 + instructions: 435464550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 741853658 + instructions: 742492902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 741853658 + instructions: 742492902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 18434 + instructions: 17438 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1269,7 +1269,7 @@ benches: btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 18405 + instructions: 17409 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1290,14 +1290,14 @@ benches: btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18509425 + instructions: 18575496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 18772 + instructions: 17776 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1318,7 +1318,7 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6477731469 + instructions: 6477271642 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1339,315 +1339,315 @@ benches: btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 496992994 + instructions: 497025521 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6198739992 + instructions: 6198217825 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1350978244 + instructions: 1350586440 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 589555481 + instructions: 589755222 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2029585917 + instructions: 2026872576 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 593575959 + instructions: 593516259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 944933972 + instructions: 944418372 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 659157412 + instructions: 659672921 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 628614551 + instructions: 628659721 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 703681472 + instructions: 703714861 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 628751644 + instructions: 628734271 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 620246433 + instructions: 620408447 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 800254528 + instructions: 803455773 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 657857209 + instructions: 657808693 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 617858456 + instructions: 617908219 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 376385637 + instructions: 375942112 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3450154889 + instructions: 3446137403 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 817204117 + instructions: 816821773 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 525716505 + instructions: 525911455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 602282999 + instructions: 602843291 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 526458173 + instructions: 524892612 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 534835372 + instructions: 535595626 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 520506158 + instructions: 521559050 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 646505548 + instructions: 646930485 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4037670588 + instructions: 4037728565 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1304614738 + instructions: 1304501539 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 798264483 + instructions: 798164686 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 1992651736 + instructions: 2002366178 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 745480168 + instructions: 745316227 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1556194599 + instructions: 1559272346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 908439510 + instructions: 908494760 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 787631024 + instructions: 787947391 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1124456456 + instructions: 1115765558 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 777052499 + instructions: 777009659 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 778685006 + instructions: 778787828 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1274405565 + instructions: 1274747423 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 845533302 + instructions: 854061505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 770495022 + instructions: 770412132 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 521619159 + instructions: 521485828 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2764659912 + instructions: 2764184519 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1051643676 + instructions: 1051894446 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 708526203 + instructions: 708469821 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 268241778 + instructions: 268155206 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 975780 + instructions: 980927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2437976 + instructions: 2465246 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1661,14 +1661,14 @@ benches: btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 977625 + instructions: 980453 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2436216 + instructions: 2452399 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1682,14 +1682,14 @@ benches: btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 982445 + instructions: 987592 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2444641 + instructions: 2471911 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1703,14 +1703,14 @@ benches: btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 983682 + instructions: 986510 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2442273 + instructions: 2458456 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1724,14 +1724,14 @@ benches: btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1230780 + instructions: 1235927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56744464 + instructions: 56782402 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1745,14 +1745,14 @@ benches: btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1230957 + instructions: 1233785 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56736853 + instructions: 56751789 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 5d9dfe91..a167ce80 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,700 +2,700 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 4047588598 - heap_increase: 2 + instructions: 4096762494 + heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 980578268 + instructions: 994766949 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 448987868 + instructions: 452863495 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 1458659252 - heap_increase: 1 + instructions: 1462541977 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 539418814 + instructions: 528107224 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 2317435953 - heap_increase: 1 + instructions: 2310838642 + heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 643815037 + instructions: 624072231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 433679440 + instructions: 431434924 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 361350210 + instructions: 356053498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 374392842 + instructions: 379190389 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_1024: total: calls: 1 - instructions: 101978640 + instructions: 102069743 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_128: total: calls: 1 - instructions: 16723968 + instructions: 16715392 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_16: total: calls: 1 - instructions: 3045929 + instructions: 3057066 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 29363375 + instructions: 29311684 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4314939 + instructions: 4317715 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_512: total: calls: 1 - instructions: 53641183 + instructions: 53621038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_64: total: calls: 1 - instructions: 9214501 + instructions: 9209475 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2790448 + instructions: 2791259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1928820 + instructions: 1929170 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1977793 + instructions: 1966126 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_1024: total: calls: 1 - instructions: 43924521 + instructions: 44028549 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_128: total: calls: 1 - instructions: 7905767 + instructions: 7866415 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1903859 + instructions: 1887062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13420957 + instructions: 13439142 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2537325 + instructions: 2548675 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_512: total: calls: 1 - instructions: 23628383 + instructions: 23625705 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4393106 + instructions: 4389180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1829254 + instructions: 1850978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1300789 + instructions: 1300614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1361027 + instructions: 1355443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_1024: total: calls: 1 - instructions: 360237 + instructions: 360473 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_128: total: calls: 1 - instructions: 86392 + instructions: 85468 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_16: total: calls: 1 - instructions: 53912 + instructions: 54043 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 126444 + instructions: 126623 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 44300 + instructions: 44799 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_512: total: calls: 1 - instructions: 204494 + instructions: 204470 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55638 + instructions: 55506 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 53437 + instructions: 53346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 43249 + instructions: 43614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 44388 + instructions: 44053 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_1024: total: calls: 1 - instructions: 78985042 + instructions: 78979443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_128: total: calls: 1 - instructions: 13355655 + instructions: 13350129 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2907002 + instructions: 2902902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 23198099 + instructions: 23188089 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4085112 + instructions: 4083042 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_512: total: calls: 1 - instructions: 41782994 + instructions: 41743303 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7275393 + instructions: 7280466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2730339 + instructions: 2726274 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1921978 + instructions: 1919762 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1954685 + instructions: 1955901 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 433983880 + instructions: 431626717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74446279 + instructions: 74347680 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14567160 + instructions: 14603201 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 128590233 + instructions: 129387220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 21033845 + instructions: 20847447 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 231285616 + instructions: 230367409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39446849 + instructions: 39259847 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 13832597 + instructions: 13838776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10582934 + instructions: 10645096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10794179 + instructions: 10781550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 261366177 + instructions: 259785932 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45358173 + instructions: 45385642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9446863 + instructions: 9583941 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 77953594 + instructions: 78419986 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13183876 + instructions: 13235727 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 139731521 + instructions: 139102127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24326282 + instructions: 24606935 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 9272815 + instructions: 9248058 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6464767 + instructions: 6609057 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6598951 + instructions: 6591868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 4090197506 - heap_increase: 0 + instructions: 4423507561 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 931840717 - heap_increase: 1 + instructions: 1006791585 + heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 408483789 + instructions: 454220453 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1417680059 + instructions: 1526016292 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 493558187 + instructions: 541104258 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2294490007 - heap_increase: 0 + instructions: 2404528267 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 601008605 + instructions: 653195157 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 390766214 + instructions: 416047531 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 328762189 + instructions: 349076871 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 343677568 + instructions: 363563761 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_1024: total: calls: 1 - instructions: 101969300 + instructions: 102060403 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_128: total: calls: 1 - instructions: 16703876 + instructions: 16695300 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3023601 + instructions: 3034738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 29344819 + instructions: 29293128 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4280681 + instructions: 4283457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_512: total: calls: 1 - instructions: 53625699 + instructions: 53605554 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9193641 + instructions: 9188615 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2773579 + instructions: 2774390 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1908456 + instructions: 1908806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1948410 + instructions: 1936743 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_1024: total: calls: 1 - instructions: 101989309 + instructions: 102080412 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_128: total: calls: 1 - instructions: 16723885 + instructions: 16715309 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_16: total: calls: 1 - instructions: 3044092 + instructions: 3055229 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 29364828 + instructions: 29313137 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4313156 + instructions: 4315932 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_512: total: calls: 1 - instructions: 53645708 + instructions: 53625563 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_64: total: calls: 1 - instructions: 9213650 + instructions: 9208624 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2788575 + instructions: 2789386 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1907970 + instructions: 1908320 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1981916 + instructions: 1970249 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index 5288d1e4..8241609e 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205462 + instructions: 357205396 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 3961150671 + instructions: 3921142293 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 55321037525 + instructions: 53660904632 heap_increase: 0 stable_memory_increase: 3072 scopes: {} @@ -107,21 +107,21 @@ benches: write_chunks_vec_1: total: calls: 1 - instructions: 549903461 + instructions: 549903446 heap_increase: 0 stable_memory_increase: 1536 scopes: {} write_chunks_vec_1k: total: calls: 1 - instructions: 562145515 + instructions: 562132513 heap_increase: 0 stable_memory_increase: 1536 scopes: {} write_chunks_vec_1m: total: calls: 1 - instructions: 1784593101 + instructions: 1771593099 heap_increase: 0 stable_memory_increase: 1536 scopes: {} diff --git a/benchmarks/nns/canbench_results.yml b/benchmarks/nns/canbench_results.yml index 0ae18444..694a2443 100644 --- a/benchmarks/nns/canbench_results.yml +++ b/benchmarks/nns/canbench_results.yml @@ -58,56 +58,56 @@ benches: vote_cascading_stable_centralized_10k: total: calls: 1 - instructions: 1377082318 - heap_increase: 13 + instructions: 1361124087 + heap_increase: 10 stable_memory_increase: 0 scopes: {} vote_cascading_stable_centralized_1k: total: calls: 1 - instructions: 99958826 + instructions: 99953937 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_15: total: calls: 1 - instructions: 9744926433 + instructions: 9747582279 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_5: total: calls: 1 - instructions: 2891370186 + instructions: 2896435872 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_15: total: calls: 1 - instructions: 866434319 + instructions: 866417732 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_5: total: calls: 1 - instructions: 249274291 + instructions: 248615294 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_10k: total: calls: 1 - instructions: 92690 + instructions: 92582 heap_increase: 0 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_1k: total: calls: 1 - instructions: 68848 + instructions: 68060 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index fefdad1f..fab36a05 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -671,7 +671,7 @@ where self.save_header(); // Split the old (full) root. - self.split_child(&mut new_root, 0); + self.split_child(&mut new_root, 0, None); new_root } else { @@ -732,9 +732,8 @@ where } // The child is full. Split the child. - // TODO: pass the already-loaded `child` into `split_child` - // to avoid re-loading it from stable memory inside that method. - self.split_child(&mut node, idx); + // Pass the already-loaded child to avoid a redundant load. + self.split_child(&mut node, idx, Some(child)); // The children have now changed. Search again for // the child where we need to store the entry in. @@ -773,12 +772,17 @@ where /// [ N O P Q R ] [ T U V W X ] /// ``` /// - fn split_child(&mut self, node: &mut Node, full_child_idx: usize) { + fn split_child( + &mut self, + node: &mut Node, + full_child_idx: usize, + full_child: Option>, + ) { // The node must not be full. assert!(!node.is_full()); - // The node's child must be full. - let mut full_child = self.load_node(node.child(full_child_idx)); + // Use the pre-loaded child if provided, otherwise load from memory. + let mut full_child = full_child.unwrap_or_else(|| self.load_node(node.child(full_child_idx))); assert!(full_child.is_full()); // Create a sibling to this full child (which has to be the same type). From dd8f87e9a09c2ad847d81796c80a241c1fc105bb Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 13:03:54 +0200 Subject: [PATCH 12/18] canbench --persist --- benchmarks/btreeset/canbench_results.yml | 164 +++++++++++------------ 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 5086008b..a167ce80 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,70 +2,70 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 4370600533 + instructions: 4096762494 heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 1052928300 + instructions: 994766949 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 479019393 + instructions: 452863495 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 1553428414 + instructions: 1462541977 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 554015159 + instructions: 528107224 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 2456872099 + instructions: 2310838642 heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 658487939 + instructions: 624072231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 449841814 + instructions: 431434924 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 375227669 + instructions: 356053498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 395018843 + instructions: 379190389 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -86,21 +86,21 @@ benches: btreeset_intersection_blob_16: total: calls: 1 - instructions: 3051868 + instructions: 3057066 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 29443637 + instructions: 29311684 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4327910 + instructions: 4317715 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -114,28 +114,28 @@ benches: btreeset_intersection_blob_64: total: calls: 1 - instructions: 9225521 + instructions: 9209475 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2792093 + instructions: 2791259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1923705 + instructions: 1929170 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1977872 + instructions: 1966126 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -156,21 +156,21 @@ benches: btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1916698 + instructions: 1887062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13366194 + instructions: 13439142 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2534763 + instructions: 2548675 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -184,28 +184,28 @@ benches: btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4389872 + instructions: 4389180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1858157 + instructions: 1850978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1323165 + instructions: 1300614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1342906 + instructions: 1355443 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -226,21 +226,21 @@ benches: btreeset_is_subset_blob_16: total: calls: 1 - instructions: 53871 + instructions: 54043 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 126952 + instructions: 126623 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 45824 + instructions: 44799 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -254,28 +254,28 @@ benches: btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55736 + instructions: 55506 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 52777 + instructions: 53346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 43375 + instructions: 43614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 44366 + instructions: 44053 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -296,21 +296,21 @@ benches: btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2914600 + instructions: 2902902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 23246636 + instructions: 23188089 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4090130 + instructions: 4083042 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -324,238 +324,238 @@ benches: btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7274111 + instructions: 7280466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2730571 + instructions: 2726274 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1917631 + instructions: 1919762 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1958869 + instructions: 1955901 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 431455834 + instructions: 431626717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74445829 + instructions: 74347680 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14464497 + instructions: 14603201 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 128525460 + instructions: 129387220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 20890835 + instructions: 20847447 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 230681431 + instructions: 230367409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39341339 + instructions: 39259847 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 14020869 + instructions: 13838776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10489585 + instructions: 10645096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10827476 + instructions: 10781550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 259617095 + instructions: 259785932 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45412273 + instructions: 45385642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9542281 + instructions: 9583941 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 77975499 + instructions: 78419986 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13182218 + instructions: 13235727 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 138899445 + instructions: 139102127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24389921 + instructions: 24606935 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 9137345 + instructions: 9248058 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6353816 + instructions: 6609057 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6572931 + instructions: 6591868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 4431900590 + instructions: 4423507561 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 1007507170 + instructions: 1006791585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 453676567 + instructions: 454220453 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1527458752 + instructions: 1526016292 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 540399251 + instructions: 541104258 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2401233176 + instructions: 2404528267 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 653702204 + instructions: 653195157 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 416468385 + instructions: 416047531 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 349787332 + instructions: 349076871 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 363884821 + instructions: 363563761 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -576,21 +576,21 @@ benches: btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3029540 + instructions: 3034738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 29425081 + instructions: 29293128 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4293652 + instructions: 4283457 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -604,28 +604,28 @@ benches: btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9204661 + instructions: 9188615 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2775224 + instructions: 2774390 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1903341 + instructions: 1908806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1948489 + instructions: 1936743 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -646,21 +646,21 @@ benches: btreeset_union_blob_16: total: calls: 1 - instructions: 3050031 + instructions: 3055229 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 29445090 + instructions: 29313137 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4326127 + instructions: 4315932 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -674,28 +674,28 @@ benches: btreeset_union_blob_64: total: calls: 1 - instructions: 9224670 + instructions: 9208624 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2790220 + instructions: 2789386 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1902855 + instructions: 1908320 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1981995 + instructions: 1970249 heap_increase: 0 stable_memory_increase: 0 scopes: {} From 257b1cbe8b976e63caa2d01d1ff8c8b29fcd9a53 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 13:12:57 +0200 Subject: [PATCH 13/18] fmt --- src/btreemap.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/btreemap.rs b/src/btreemap.rs index fab36a05..67f160e8 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -782,7 +782,8 @@ where assert!(!node.is_full()); // Use the pre-loaded child if provided, otherwise load from memory. - let mut full_child = full_child.unwrap_or_else(|| self.load_node(node.child(full_child_idx))); + let mut full_child = + full_child.unwrap_or_else(|| self.load_node(node.child(full_child_idx))); assert!(full_child.is_full()); // Create a sibling to this full child (which has to be the same type). From c30a27b5133542aa59791d053d8641ef859c2a4b Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 14:01:24 +0200 Subject: [PATCH 14/18] depth comment --- src/btreemap/node_cache.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/btreemap/node_cache.rs b/src/btreemap/node_cache.rs index 4777bebd..19c3b6cc 100644 --- a/src/btreemap/node_cache.rs +++ b/src/btreemap/node_cache.rs @@ -86,6 +86,9 @@ struct CacheSlot { node: Option>, /// Distance from the tree root (root = 0). Used by the eviction policy. + /// u8 is sufficient: with B=6 (min 6 children per node), a depth-255 + /// tree holds at least 2*6^254 entries (~10^197), far beyond any + /// practical stable memory size. depth: u8, } From 25a17b2ef8619ce31f4ec78b02891124839020c3 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 15:34:51 +0200 Subject: [PATCH 15/18] return left child node to the cache --- benchmarks/btreemap/canbench_results.yml | 142 +++++++++++------------ benchmarks/btreeset/canbench_results.yml | 8 +- src/btreemap.rs | 3 + 3 files changed, 78 insertions(+), 75 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 22366bfa..a3ccc0e6 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -51,21 +51,21 @@ benches: btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 737291019 + instructions: 737621386 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 601079231 + instructions: 601639075 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64_nocache: total: calls: 1 - instructions: 791402755 + instructions: 791474376 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -366,21 +366,21 @@ benches: btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 753296302 + instructions: 755163271 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 605670535 + instructions: 606091729 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64_nocache: total: calls: 1 - instructions: 795935311 + instructions: 796006932 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1052,35 +1052,35 @@ benches: btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3566987315 + instructions: 3570746918 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824389020 + instructions: 824850777 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 662523984 + instructions: 663097816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1144462208 + instructions: 1150349816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2799793322 + instructions: 2800037456 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1129,35 +1129,35 @@ benches: btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 459574750 + instructions: 459555674 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 824742212 + instructions: 824723110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 541383105 + instructions: 541364005 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 380191265 + instructions: 380175859 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 486357442 + instructions: 486155746 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1171,14 +1171,14 @@ benches: btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 754028349 + instructions: 753991401 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 754028349 + instructions: 753991401 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1192,35 +1192,35 @@ benches: btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 432308275 + instructions: 432289199 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 783044805 + instructions: 783025703 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 524243717 + instructions: 524224617 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 363462593 + instructions: 363447187 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 471787282 + instructions: 471580978 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1234,14 +1234,14 @@ benches: btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 742492902 + instructions: 742456282 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 742492902 + instructions: 742456282 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1318,322 +1318,322 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6477271642 + instructions: 6478575821 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64_nocache: total: calls: 1 - instructions: 7035220331 + instructions: 7035940123 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4705256170 + instructions: 4705256210 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 497025521 + instructions: 497571723 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6198217825 + instructions: 6204129382 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1350586440 + instructions: 1351533453 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 589755222 + instructions: 589930360 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2026872576 + instructions: 2030200133 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 593516259 + instructions: 594096259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 944418372 + instructions: 944615333 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 659672921 + instructions: 660254268 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 628659721 + instructions: 629938310 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 703714861 + instructions: 704354215 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 628734271 + instructions: 629408585 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 620408447 + instructions: 621035295 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 803455773 + instructions: 803874523 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 657808693 + instructions: 658111341 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 617908219 + instructions: 618061445 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 375942112 + instructions: 376626678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3446137403 + instructions: 3450643609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 816821773 + instructions: 817652379 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 525911455 + instructions: 526282142 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 602843291 + instructions: 603198738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 524892612 + instructions: 526227595 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 535595626 + instructions: 535964609 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 521559050 + instructions: 522098269 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 646930485 + instructions: 646293528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4037728565 + instructions: 4044575644 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1304501539 + instructions: 1305555741 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 798164686 + instructions: 798454030 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2002366178 + instructions: 2002363139 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 745316227 + instructions: 745882084 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1559272346 + instructions: 1555325449 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 908494760 + instructions: 909356031 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 787947391 + instructions: 788523687 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1115765558 + instructions: 1116769992 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 777009659 + instructions: 777700977 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 778787828 + instructions: 779296504 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1274747423 + instructions: 1275358498 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 854061505 + instructions: 846680947 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 770412132 + instructions: 770712582 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 521485828 + instructions: 520364869 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2764184519 + instructions: 2766987385 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1051894446 + instructions: 1052759008 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 708469821 + instructions: 708860094 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 268155206 + instructions: 268314356 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index a167ce80..4de74250 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -506,7 +506,7 @@ benches: btreeset_remove_blob_16: total: calls: 1 - instructions: 454220453 + instructions: 454200453 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -520,7 +520,7 @@ benches: btreeset_remove_blob_32: total: calls: 1 - instructions: 541104258 + instructions: 541084258 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -541,14 +541,14 @@ benches: btreeset_remove_blob_8: total: calls: 1 - instructions: 416047531 + instructions: 416027531 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 349076871 + instructions: 349096871 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 67f160e8..0f247ddb 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -1110,6 +1110,9 @@ where // / \ // [...] [...] + // Return the unmodified left child to the cache. + self.return_node(left_child, depth.saturating_add(1)); + // Recursively delete the successor. // TODO(EXC-1034): Do this in a single pass. let successor = self.first_entry_inner(&right_child); From 06075b11303b73e86062405471779b93519a0b86 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 15:42:29 +0200 Subject: [PATCH 16/18] return unmodified nodes to cache --- benchmarks/btreemap/canbench_results.yml | 396 +++++++++++----------- benchmarks/btreeset/canbench_results.yml | 24 +- benchmarks/io_chunks/canbench_results.yml | 6 +- src/btreemap.rs | 40 ++- 4 files changed, 238 insertions(+), 228 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index a3ccc0e6..5169239d 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -9,63 +9,63 @@ benches: btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899093643 + instructions: 899462217 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 284919279 + instructions: 285296168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 283280481 + instructions: 277932878 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 238678621 + instructions: 240233990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190836263 + instructions: 190764575 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 249118726 + instructions: 249247060 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 737621386 + instructions: 739236650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 601639075 + instructions: 601490687 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64_nocache: total: calls: 1 - instructions: 791474376 + instructions: 791456528 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -79,14 +79,14 @@ benches: btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 293423422 + instructions: 293574736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 293423422 + instructions: 293574736 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -100,42 +100,42 @@ benches: btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 460470383 + instructions: 458120431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 96957898 + instructions: 99688275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 262367714 + instructions: 259497164 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 106415712 + instructions: 104795876 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55864744 + instructions: 55624843 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31505653 + instructions: 31505971 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -149,14 +149,14 @@ benches: btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38537273 + instructions: 38587267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38537273 + instructions: 38587267 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -184,112 +184,112 @@ benches: btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 206360446 + instructions: 205616407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2975511846 + instructions: 2976233508 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 576205545 + instructions: 575922479 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 225627131 + instructions: 221769167 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904245666 + instructions: 904561550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 286629221 + instructions: 287006110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 296034850 + instructions: 290666868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 243545472 + instructions: 245316350 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247830409 + instructions: 247635259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 251784174 + instructions: 248110723 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244285297 + instructions: 244416294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 245661346 + instructions: 246846060 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 257940545 + instructions: 257682297 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 247747084 + instructions: 247516635 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 244366180 + instructions: 247087511 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168587522 + instructions: 169181540 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -303,14 +303,14 @@ benches: btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 336203918 + instructions: 336177062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 196047198 + instructions: 195978915 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -338,49 +338,49 @@ benches: btreemap_v2_get_principal: total: calls: 1 - instructions: 250979365 + instructions: 251107699 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 526319243 + instructions: 525765859 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 374188194 + instructions: 375030642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64_nocache: total: calls: 1 - instructions: 603216927 + instructions: 604576977 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 755163271 + instructions: 753380534 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 606091729 + instructions: 606134691 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64_nocache: total: calls: 1 - instructions: 796006932 + instructions: 795989084 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -408,112 +408,112 @@ benches: btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 268183857 + instructions: 265721428 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1397196207 + instructions: 1400848737 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480112641 + instructions: 480257637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 345190182 + instructions: 344724815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 644583146 + instructions: 644328825 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 273014784 + instructions: 273037776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445319545 + instructions: 445716443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 299902762 + instructions: 300131961 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308797196 + instructions: 308851199 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 328551129 + instructions: 327999269 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 267113274 + instructions: 269052857 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269333017 + instructions: 269993263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 348523919 + instructions: 347952793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 289056121 + instructions: 287241239 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 267129916 + instructions: 266996994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 211701168 + instructions: 211972536 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -527,14 +527,14 @@ benches: btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402127517 + instructions: 401774425 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 281721084 + instructions: 282634913 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -576,322 +576,322 @@ benches: btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4277192357 + instructions: 4291778109 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4375302968 + instructions: 4375302957 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 343578630 + instructions: 342831527 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4079649394 + instructions: 4089419201 heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 897065111 + instructions: 898938251 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 398424626 + instructions: 397233634 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1385184984 + instructions: 1385784168 heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 403675870 + instructions: 404010801 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 641055869 + instructions: 640535326 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 449501862 + instructions: 448746352 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 438740299 + instructions: 438405771 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 479557117 + instructions: 479120078 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 433800217 + instructions: 433815169 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 420501716 + instructions: 420418817 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 542655803 + instructions: 543376008 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 446716725 + instructions: 447280905 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 423370496 + instructions: 423948483 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 325745883 + instructions: 325528558 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2240782706 + instructions: 2240845938 heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 565081888 + instructions: 565741268 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 370959999 + instructions: 370623171 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 293739995 + instructions: 296057608 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_u64_u64_nocache: total: calls: 1 - instructions: 370078911 + instructions: 371438961 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 262853059 + instructions: 265045208 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 398961280 + instructions: 397790991 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 332687690 + instructions: 333906568 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 471497580 + instructions: 472716458 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 351766110 + instructions: 352838177 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 355078972 + instructions: 356162259 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 349983846 + instructions: 351056169 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 435922462 + instructions: 434940532 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2193547524 + instructions: 2192230335 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 863034437 + instructions: 862859491 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 563681682 + instructions: 563612378 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1179528701 + instructions: 1181410426 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 509112572 + instructions: 510924354 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1049881823 + instructions: 1049358367 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 636010996 + instructions: 634848625 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 561405527 + instructions: 562776441 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 737169386 + instructions: 738460103 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 557110032 + instructions: 556986479 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 539284092 + instructions: 539343255 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 834782977 + instructions: 834725813 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 564997102 + instructions: 564203551 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 534524206 + instructions: 533050455 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 438167213 + instructions: 436367493 heap_increase: 1 stable_memory_increase: 16 scopes: {} @@ -905,56 +905,56 @@ benches: btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 723159343 + instructions: 722228540 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 528294872 + instructions: 528020057 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150673570 + instructions: 150673373 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536422 + instructions: 32536799 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 172436070 + instructions: 171435429 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 125858835 + instructions: 125039249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52793763 + instructions: 52843988 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 75349926 + instructions: 76710295 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -968,21 +968,21 @@ benches: btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 76210774 + instructions: 78201482 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 76210774 + instructions: 78201482 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643325772 + instructions: 1643830358 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1010,238 +1010,238 @@ benches: btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 939418249 + instructions: 938767815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2319315815 + instructions: 2319454087 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 533054992 + instructions: 534153431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 433488467 + instructions: 434571754 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 735490828 + instructions: 736566555 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1619881032 + instructions: 1618293038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3570746918 + instructions: 3567786556 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824850777 + instructions: 824562962 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 663097816 + instructions: 663455522 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1150349816 + instructions: 1150604528 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2800037456 + instructions: 2796845212 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 336142677 + instructions: 337367150 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 574931074 + instructions: 576031481 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 494220767 + instructions: 494200769 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 489918501 + instructions: 489898503 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64_nocache: total: calls: 1 - instructions: 870538958 + instructions: 870518960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1678510682 + instructions: 1678950966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 459555674 + instructions: 459251102 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 824723110 + instructions: 826492096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 541364005 + instructions: 540700314 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 380175859 + instructions: 380506610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 486155746 + instructions: 486663429 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 447981873 + instructions: 447961875 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 753991401 + instructions: 753734853 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 753991401 + instructions: 753734853 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1629184912 + instructions: 1628798122 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 432289199 + instructions: 432413497 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 783025703 + instructions: 782114715 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 524224617 + instructions: 524699503 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 363447187 + instructions: 363300072 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 471580978 + instructions: 472053370 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 435464550 + instructions: 435444552 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 742456282 + instructions: 742284746 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 742456282 + instructions: 742284746 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1318,14 +1318,14 @@ benches: btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6478575821 + instructions: 6480056974 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64_nocache: total: calls: 1 - instructions: 7035940123 + instructions: 7035761202 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1339,301 +1339,301 @@ benches: btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 497571723 + instructions: 496738660 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6204129382 + instructions: 6200762517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1351533453 + instructions: 1351257796 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 589930360 + instructions: 589672518 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2030200133 + instructions: 2029456584 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 594096259 + instructions: 594036764 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 944615333 + instructions: 946255537 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 660254268 + instructions: 659125150 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 629938310 + instructions: 629346310 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 704354215 + instructions: 704591680 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 629408585 + instructions: 629090984 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 621035295 + instructions: 621583724 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 803874523 + instructions: 803284657 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 658111341 + instructions: 658078023 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 618061445 + instructions: 618034305 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 376626678 + instructions: 374703244 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3450643609 + instructions: 3448980432 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 817652379 + instructions: 818102614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 526282142 + instructions: 522673381 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 603198738 + instructions: 603806616 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 526227595 + instructions: 526572415 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 535964609 + instructions: 536019307 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 522098269 + instructions: 521910714 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 646293528 + instructions: 641410784 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 4044575644 + instructions: 4037258547 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1305555741 + instructions: 1305067146 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 798454030 + instructions: 797775465 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 2002363139 + instructions: 2002279734 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 745882084 + instructions: 746184617 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1555325449 + instructions: 1559318244 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 909356031 + instructions: 909417590 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 788523687 + instructions: 789241201 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1116769992 + instructions: 1115668269 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 777700977 + instructions: 777438179 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 779296504 + instructions: 778665718 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1275358498 + instructions: 1275644315 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 846680947 + instructions: 849707960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 770712582 + instructions: 770570897 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 520364869 + instructions: 514125670 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2766987385 + instructions: 2765028073 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1052759008 + instructions: 1051623512 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 708860094 + instructions: 704106159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 268314356 + instructions: 273159892 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 4de74250..8f117869 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -58,14 +58,14 @@ benches: btreeset_insert_u32: total: calls: 1 - instructions: 356053498 + instructions: 356067360 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 379190389 + instructions: 380413243 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -492,70 +492,70 @@ benches: btreeset_remove_blob_1024: total: calls: 1 - instructions: 4423507561 + instructions: 4423487563 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 1006791585 + instructions: 1006771587 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 454200453 + instructions: 454180455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1526016292 + instructions: 1525996294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 541084258 + instructions: 541064260 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2404528267 + instructions: 2404508269 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 653195157 + instructions: 653175159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 416027531 + instructions: 416007533 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 349096871 + instructions: 349076873 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 363563761 + instructions: 363543763 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index 8241609e..d406ece9 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205396 + instructions: 357205395 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 3921142293 + instructions: 3921144695 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 53660904632 + instructions: 53667232586 heap_increase: 0 stable_memory_increase: 3072 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 0f247ddb..0b2d15e4 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -728,6 +728,8 @@ where // Check if the key already exists in the child. if let Ok(idx) = child.search(&key, self.memory()) { // Key found, replace its value and return the old one. + // The parent node is unmodified — return it to cache. + self.return_node(node, depth); return Some(self.update_value(&mut child, idx, value)); } @@ -881,23 +883,25 @@ where } #[inline(always)] - fn first_key_inner(&self, node: &Node) -> K { - self.find_first_or_last(node, true, 0, |n, i, m| n.key(i, m).clone()) + fn first_key_inner(&self, node: &Node, depth: u8) -> K { + self.find_first_or_last(node, true, depth, |n, i, m| n.key(i, m).clone()) } #[inline(always)] - fn last_key_inner(&self, node: &Node) -> K { - self.find_first_or_last(node, false, 0, |n, i, m| n.key(i, m).clone()) + fn last_key_inner(&self, node: &Node, depth: u8) -> K { + self.find_first_or_last(node, false, depth, |n, i, m| n.key(i, m).clone()) } #[inline(always)] - fn first_entry_inner(&self, node: &Node) -> Entry { - self.find_first_or_last(node, true, 0, |n, i, m| n.get_key_read_value_uncached(i, m)) + fn first_entry_inner(&self, node: &Node, depth: u8) -> Entry { + self.find_first_or_last(node, true, depth, |n, i, m| { + n.get_key_read_value_uncached(i, m) + }) } #[inline(always)] - fn last_entry_inner(&self, node: &Node) -> Entry { - self.find_first_or_last(node, false, 0, |n, i, m| { + fn last_entry_inner(&self, node: &Node, depth: u8) -> Entry { + self.find_first_or_last(node, false, depth, |n, i, m| { n.get_key_read_value_uncached(i, m) }) } @@ -945,7 +949,7 @@ where return None; } let root = self.take_or_load_node(self.root_addr); - let (k, encoded_v) = self.first_entry_inner(&root); + let (k, encoded_v) = self.first_entry_inner(&root, 0); self.return_node(root, 0); Some((k, V::from_bytes(Cow::Owned(encoded_v)))) } @@ -957,7 +961,7 @@ where return None; } let root = self.take_or_load_node(self.root_addr); - let (k, encoded_v) = self.last_entry_inner(&root); + let (k, encoded_v) = self.last_entry_inner(&root, 0); self.return_node(root, 0); Some((k, V::from_bytes(Cow::Owned(encoded_v)))) } @@ -989,7 +993,7 @@ where } let root = self.take_or_load_node(self.root_addr); - let last_key = self.last_key_inner(&root); + let last_key = self.last_key_inner(&root, 0); self.remove_helper(root, &last_key, 0) .map(|v| (last_key, V::from_bytes(Cow::Owned(v)))) } @@ -1001,7 +1005,7 @@ where } let root = self.take_or_load_node(self.root_addr); - let first_key = self.first_key_inner(&root); + let first_key = self.first_key_inner(&root, 0); self.remove_helper(root, &first_key, 0) .map(|v| (first_key, V::from_bytes(Cow::Owned(v)))) } @@ -1041,7 +1045,11 @@ where self.save_header(); Some(value) } - _ => None, // Key not found. + _ => { + // Key not found. Return the unmodified node to cache. + self.return_node(node, depth); + None + } } } NodeType::Internal => { @@ -1073,7 +1081,8 @@ where // Recursively delete the predecessor. // TODO(EXC-1034): Do this in a single pass. - let predecessor = self.last_entry_inner(&left_child); + let predecessor = + self.last_entry_inner(&left_child, depth.saturating_add(1)); self.remove_helper( left_child, &predecessor.0, @@ -1115,7 +1124,8 @@ where // Recursively delete the successor. // TODO(EXC-1034): Do this in a single pass. - let successor = self.first_entry_inner(&right_child); + let successor = + self.first_entry_inner(&right_child, depth.saturating_add(1)); self.remove_helper(right_child, &successor.0, depth.saturating_add(1))?; // Replace the `key` with its successor. From 5a213af92d69bf737ecc9b265ee6dd59c946730e Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 17:49:50 +0200 Subject: [PATCH 17/18] return node after split --- benchmarks/btreemap/canbench_results.yml | 502 +++++++++++----------- benchmarks/btreeset/canbench_results.yml | 200 ++++----- benchmarks/io_chunks/canbench_results.yml | 6 +- benchmarks/nns/canbench_results.yml | 16 +- src/btreemap.rs | 3 + 5 files changed, 365 insertions(+), 362 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 108c18e9..0fd2527a 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,63 +2,63 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 16632877 + instructions: 22407394 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899462217 + instructions: 899336420 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 285296168 + instructions: 284758226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 277932878 + instructions: 281861143 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 240233990 + instructions: 241825254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190764575 + instructions: 190376872 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 249247060 + instructions: 248752140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 735347850 + instructions: 733465435 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 597959237 + instructions: 599695571 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -72,98 +72,98 @@ benches: btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 170994633 + instructions: 170313780 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 293574736 + instructions: 292053710 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 293574736 + instructions: 292053710 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_zipf_10k_u64_u64: total: calls: 1 - instructions: 135743772 + instructions: 135335874 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 458120431 + instructions: 460140383 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 99688275 + instructions: 100168375 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 259497164 + instructions: 261588424 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 104795876 + instructions: 107099030 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55624843 + instructions: 55624819 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31505971 + instructions: 31505591 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 90215726 + instructions: 90115831 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38587267 + instructions: 38536426 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38587267 + instructions: 38536426 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2343388637 + instructions: 2337663921 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -177,147 +177,147 @@ benches: btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 263003134 + instructions: 328035488 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 205616407 + instructions: 205906218 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2976233508 + instructions: 2976764731 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 575922479 + instructions: 576574678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 221769167 + instructions: 221116933 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904561550 + instructions: 904562046 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 287006110 + instructions: 286468168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 290666868 + instructions: 293992391 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 245316350 + instructions: 246769421 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247635259 + instructions: 247977349 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 248110723 + instructions: 251252001 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244416294 + instructions: 244484951 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 246846060 + instructions: 247305037 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 257682297 + instructions: 259997149 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 247516635 + instructions: 250033517 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 247087511 + instructions: 245317334 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 169181540 + instructions: 168971679 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1591956275 + instructions: 1590288906 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 336177062 + instructions: 337323589 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 195978915 + instructions: 195505651 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 178307024 + instructions: 177613129 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -331,49 +331,49 @@ benches: btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 171909834 + instructions: 171201231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 251107699 + instructions: 250611431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 525765859 + instructions: 525958220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 375030642 + instructions: 374789525 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64_nocache: total: calls: 1 - instructions: 604576977 + instructions: 604341958 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 750750883 + instructions: 749305942 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 602628511 + instructions: 603957184 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -387,728 +387,728 @@ benches: btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 194648488 + instructions: 195006249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 175700899 + instructions: 175010218 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168427952 + instructions: 168604861 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 265721428 + instructions: 266576485 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1400848737 + instructions: 1400344865 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480257637 + instructions: 480351971 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344724815 + instructions: 344979806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 644328825 + instructions: 642229801 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 273037776 + instructions: 272465065 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445716443 + instructions: 445294817 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 300131961 + instructions: 298588409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 308851199 + instructions: 309153660 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 327999269 + instructions: 327374564 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 269052857 + instructions: 266882610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269993263 + instructions: 269709829 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 347952793 + instructions: 347671797 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 287241239 + instructions: 288682539 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266996994 + instructions: 266700567 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 211972536 + instructions: 212946790 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1030433439 + instructions: 1031484305 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 401774425 + instructions: 402173553 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 282634913 + instructions: 284982020 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1991798722 + instructions: 1986147708 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64_nocache: total: calls: 1 - instructions: 2743225193 + instructions: 2743225178 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140464655 + instructions: 140015162 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 226994711 + instructions: 226994726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87684088 + instructions: 87418647 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4291778109 + instructions: 4323649607 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4375302957 + instructions: 4377764759 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 342831527 + instructions: 342565168 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4089419201 - heap_increase: 2 + instructions: 4064792526 + heap_increase: 3 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 898938251 + instructions: 895872250 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 397233634 + instructions: 399607471 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1385784168 - heap_increase: 0 + instructions: 1378995059 + heap_increase: 1 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 404010801 + instructions: 404685595 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 640535326 + instructions: 655039203 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 448746352 + instructions: 450927375 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 438405771 + instructions: 439139320 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 479120078 + instructions: 482226404 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 433815169 + instructions: 435772786 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 420418817 + instructions: 421848074 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 543376008 + instructions: 549718922 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 447280905 + instructions: 448885416 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 423948483 + instructions: 425327929 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 325528558 + instructions: 325191182 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2240845938 - heap_increase: 1 + instructions: 2229713333 + heap_increase: 2 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 565741268 + instructions: 566041252 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 370623171 + instructions: 370373816 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 296057608 + instructions: 295972633 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_u64_u64_nocache: total: calls: 1 - instructions: 371438961 + instructions: 371203942 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 265045208 + instructions: 264666234 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 397790991 + instructions: 399143035 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 333906568 + instructions: 327454940 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 472716458 + instructions: 471852953 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 352838177 + instructions: 352881413 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 356162259 + instructions: 356512353 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 351056169 + instructions: 350868280 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 434940532 + instructions: 428666929 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2192230335 + instructions: 2176094284 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 862859491 + instructions: 853826590 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 563612378 + instructions: 554641202 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1181410426 + instructions: 1167646101 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 510924354 + instructions: 505488863 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1049358367 + instructions: 1042551565 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 634848625 + instructions: 622849112 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 562776441 + instructions: 556059831 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 738460103 + instructions: 728116546 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 556986479 + instructions: 552188405 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 539343255 + instructions: 533620920 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 834725813 + instructions: 825393576 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 564203551 + instructions: 557726759 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 533050455 + instructions: 526805598 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 436367493 + instructions: 430094266 heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1567958241 + instructions: 1560599459 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 722228540 + instructions: 716067596 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 528020057 + instructions: 522693467 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150673373 + instructions: 150866513 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536799 + instructions: 32536906 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 171435429 + instructions: 174695841 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 125039249 + instructions: 124669509 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52843988 + instructions: 52843912 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 76710295 + instructions: 75349803 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 86931340 + instructions: 87441226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 78201482 + instructions: 77430424 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 78201482 + instructions: 77430424 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1643830358 + instructions: 1642802487 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 214214487 + instructions: 214055908 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 213714676 + instructions: 214558584 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 277358190 + instructions: 277950466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 938767815 + instructions: 939026094 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2319454087 - heap_increase: 1 + instructions: 2312960048 + heap_increase: 2 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 534153431 + instructions: 541584997 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 434571754 + instructions: 435327127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 736566555 + instructions: 736441409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1618293038 + instructions: 1611261315 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3524433860 + instructions: 3523371396 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 822448050 + instructions: 824400901 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 660790252 + instructions: 660667505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1148510151 + instructions: 1148587559 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2753136803 + instructions: 2754096933 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 337367150 + instructions: 336996009 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 576031481 + instructions: 575822414 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 451846877 + instructions: 451058457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 445250519 + instructions: 444433223 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1122,644 +1122,644 @@ benches: btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1451860053 + instructions: 1454882187 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 398686459 + instructions: 399046919 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 761760182 + instructions: 763014789 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 482616093 + instructions: 482357340 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 337064290 + instructions: 337372294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 414634432 + instructions: 414497950 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 404184794 + instructions: 404420760 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 677735066 + instructions: 677717102 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 677735066 + instructions: 677717102 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1356341901 + instructions: 1357704785 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 366514459 + instructions: 366590266 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 714422032 + instructions: 715018787 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 462413165 + instructions: 461644933 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 319261539 + instructions: 318906574 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 387499419 + instructions: 387097220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 390486139 + instructions: 391034908 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 656405996 + instructions: 657858212 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 656405996 + instructions: 657858212 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 17438 + instructions: 17662 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2403569 + instructions: 2410090 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_20_10mib: total: calls: 1 - instructions: 18468765 + instructions: 22672648 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 17409 + instructions: 17633 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2469367 + instructions: 2475888 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_20_10mib: total: calls: 1 - instructions: 18469999 + instructions: 22673882 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18575496 + instructions: 18407110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 17776 + instructions: 18000 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20796260 + instructions: 20783848 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_20_10mib: total: calls: 1 - instructions: 398305226 + instructions: 402513730 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6459956144 + instructions: 6456514230 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64_nocache: total: calls: 1 - instructions: 7007814665 + instructions: 7007814650 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4705256210 + instructions: 4684380707 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 494480126 + instructions: 494182148 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6125634073 + instructions: 6126054974 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1337749920 + instructions: 1338413495 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 586094449 + instructions: 586217744 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2005641441 + instructions: 2008230771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 590771254 + instructions: 590823546 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 941187011 + instructions: 941124646 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 655869991 + instructions: 655841714 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 625128260 + instructions: 625727410 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 700056800 + instructions: 700230253 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 624857798 + instructions: 625077004 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 617487671 + instructions: 617503941 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 800021230 + instructions: 799964181 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 654498983 + instructions: 654371088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 614281188 + instructions: 614151318 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 373323149 + instructions: 373250126 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3406946939 + instructions: 3410366959 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 811679791 + instructions: 811272110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 520343675 + instructions: 519845916 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 598900093 + instructions: 599003627 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 524277916 + instructions: 524465113 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 533948350 + instructions: 534114251 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 519927029 + instructions: 520014088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 638942966 + instructions: 638716610 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 3955976774 + instructions: 3955762462 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1290393122 + instructions: 1290421111 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 792212701 + instructions: 793281553 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 1974882757 + instructions: 1964112180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 740347933 + instructions: 740000223 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1545910320 + instructions: 1550054827 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 902750586 + instructions: 902035184 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 782529045 + instructions: 782204900 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1109185713 + instructions: 1106515917 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 771617799 + instructions: 771177415 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 772599254 + instructions: 772604537 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1267880569 + instructions: 1267332245 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 840262373 + instructions: 839950804 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 764575818 + instructions: 764535310 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 511552975 + instructions: 513815505 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2719139728 + instructions: 2719412687 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1040869622 + instructions: 1042029844 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 700913260 + instructions: 701328673 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 272321922 + instructions: 272369751 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 980927 + instructions: 968371 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2465246 + instructions: 2715151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 18468649 + instructions: 20568223 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 980453 + instructions: 964430 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2452399 + instructions: 2570693 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 18468641 + instructions: 20568215 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 987592 + instructions: 975036 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2471911 + instructions: 2721816 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 18468793 + instructions: 20568367 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 986510 + instructions: 970487 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2458456 + instructions: 2576750 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 18468771 + instructions: 20568345 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1235927 + instructions: 1223371 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 56782402 + instructions: 57234273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1103711407 + instructions: 1105821582 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1233785 + instructions: 1217762 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 56751789 + instructions: 57188251 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1103710947 + instructions: 1105821600 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 0a080d40..3c13a663 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,700 +2,700 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 4096762494 + instructions: 3819467481 heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 994766949 + instructions: 932045243 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 452863495 + instructions: 440613678 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 1462541977 + instructions: 1370611350 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 528107224 + instructions: 502559490 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 2310838642 + instructions: 2155370665 heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 624072231 + instructions: 591325831 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 431434924 + instructions: 412947897 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 356067360 + instructions: 348627420 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 380413243 + instructions: 369472286 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_1024: total: calls: 1 - instructions: 102069743 + instructions: 102106469 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_128: total: calls: 1 - instructions: 16715392 + instructions: 16726577 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_16: total: calls: 1 - instructions: 3057066 + instructions: 3048218 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 29311684 + instructions: 29169998 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4317715 + instructions: 4325993 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_512: total: calls: 1 - instructions: 53621038 + instructions: 53691169 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_64: total: calls: 1 - instructions: 9209475 + instructions: 9218121 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2791259 + instructions: 2796263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1929170 + instructions: 1933407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1966126 + instructions: 1963815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_1024: total: calls: 1 - instructions: 44028549 + instructions: 44018958 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_128: total: calls: 1 - instructions: 7866415 + instructions: 7949284 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1887062 + instructions: 1896294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13439142 + instructions: 13221783 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2548675 + instructions: 2550664 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_512: total: calls: 1 - instructions: 23625705 + instructions: 23637834 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4389180 + instructions: 4374738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1850978 + instructions: 1866288 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1300614 + instructions: 1320693 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1355443 + instructions: 1345685 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_1024: total: calls: 1 - instructions: 360473 + instructions: 361583 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_128: total: calls: 1 - instructions: 85468 + instructions: 86990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_16: total: calls: 1 - instructions: 54043 + instructions: 54832 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 126623 + instructions: 126001 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 44799 + instructions: 46770 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_512: total: calls: 1 - instructions: 204470 + instructions: 205068 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55506 + instructions: 55953 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 53346 + instructions: 53672 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 43614 + instructions: 43273 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 44053 + instructions: 44076 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_1024: total: calls: 1 - instructions: 78979443 + instructions: 78971177 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_128: total: calls: 1 - instructions: 13350129 + instructions: 13387281 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2902902 + instructions: 2914450 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 23188089 + instructions: 22999640 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4083042 + instructions: 4098319 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_512: total: calls: 1 - instructions: 41743303 + instructions: 41542502 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7280466 + instructions: 7276732 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2726274 + instructions: 2725464 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1919762 + instructions: 1919616 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1955901 + instructions: 1963745 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 431626717 + instructions: 432859403 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74347680 + instructions: 74530512 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14603201 + instructions: 14424726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 129387220 + instructions: 129335234 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 20847447 + instructions: 21441204 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 230367409 + instructions: 230840514 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39259847 + instructions: 39345025 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 13838776 + instructions: 13717206 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10645096 + instructions: 10565339 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10781550 + instructions: 10658818 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 259785932 + instructions: 260609274 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45385642 + instructions: 45462197 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9583941 + instructions: 9625960 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 78419986 + instructions: 78547663 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13235727 + instructions: 13698315 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 139102127 + instructions: 139239246 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24606935 + instructions: 24388779 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 9248058 + instructions: 8934645 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6609057 + instructions: 6515140 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6591868 + instructions: 6557837 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 4423467563 + instructions: 4428443506 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 1006751587 + instructions: 1007669723 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 454200455 + instructions: 454727039 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1525976294 + instructions: 1517994853 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 541084260 + instructions: 542261825 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2404488269 + instructions: 2405887502 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 653155159 + instructions: 656637839 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 416027533 + instructions: 417280511 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 349076873 + instructions: 348641958 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 363543763 + instructions: 363813310 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_1024: total: calls: 1 - instructions: 102060403 + instructions: 102097129 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_128: total: calls: 1 - instructions: 16695300 + instructions: 16706485 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3034738 + instructions: 3025890 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 29293128 + instructions: 29151442 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4283457 + instructions: 4291735 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_512: total: calls: 1 - instructions: 53605554 + instructions: 53675685 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9188615 + instructions: 9197261 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2774390 + instructions: 2779394 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1908806 + instructions: 1913043 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1936743 + instructions: 1934432 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_1024: total: calls: 1 - instructions: 102080412 + instructions: 102117138 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_128: total: calls: 1 - instructions: 16715309 + instructions: 16726494 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_16: total: calls: 1 - instructions: 3055229 + instructions: 3046381 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 29313137 + instructions: 29171451 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4315932 + instructions: 4324210 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_512: total: calls: 1 - instructions: 53625563 + instructions: 53695694 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_64: total: calls: 1 - instructions: 9208624 + instructions: 9217270 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2789386 + instructions: 2794390 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1908320 + instructions: 1912557 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1970249 + instructions: 1967938 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index d406ece9..c60a5093 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205395 + instructions: 357205398 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 3921144695 + instructions: 3742236376 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 53667232586 + instructions: 52113889736 heap_increase: 0 stable_memory_increase: 3072 scopes: {} diff --git a/benchmarks/nns/canbench_results.yml b/benchmarks/nns/canbench_results.yml index 694a2443..67637e6b 100644 --- a/benchmarks/nns/canbench_results.yml +++ b/benchmarks/nns/canbench_results.yml @@ -58,56 +58,56 @@ benches: vote_cascading_stable_centralized_10k: total: calls: 1 - instructions: 1361124087 + instructions: 1375338219 heap_increase: 10 stable_memory_increase: 0 scopes: {} vote_cascading_stable_centralized_1k: total: calls: 1 - instructions: 99953937 + instructions: 100187130 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_15: total: calls: 1 - instructions: 9747582279 + instructions: 9777725729 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_5: total: calls: 1 - instructions: 2896435872 + instructions: 2883948943 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_15: total: calls: 1 - instructions: 866417732 + instructions: 863593325 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_5: total: calls: 1 - instructions: 248615294 + instructions: 250617384 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_10k: total: calls: 1 - instructions: 92582 + instructions: 92428 heap_increase: 0 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_1k: total: calls: 1 - instructions: 68060 + instructions: 68586 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 3f8846f1..195f3fdd 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -741,6 +741,9 @@ where // the child where we need to store the entry in. let idx = node.search(&key, self.memory()).unwrap_or_else(|idx| idx); child = self.load_node(node.child(idx)); + // split_child saved node to memory; return the + // up-to-date in-memory copy to the cache. + self.return_node(node, depth); } else { // Happy path: child is not full. The current node // will not be modified — return it to cache. From e326e40b28809ab8e448eb811cdb9e19ce4fa6e5 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Thu, 2 Apr 2026 17:56:06 +0200 Subject: [PATCH 18/18] revert returning node after split due to degradation --- benchmarks/btreemap/canbench_results.yml | 502 +++++++++++----------- benchmarks/btreeset/canbench_results.yml | 200 ++++----- benchmarks/io_chunks/canbench_results.yml | 6 +- benchmarks/nns/canbench_results.yml | 16 +- src/btreemap.rs | 3 - 5 files changed, 362 insertions(+), 365 deletions(-) diff --git a/benchmarks/btreemap/canbench_results.yml b/benchmarks/btreemap/canbench_results.yml index 0fd2527a..108c18e9 100644 --- a/benchmarks/btreemap/canbench_results.yml +++ b/benchmarks/btreemap/canbench_results.yml @@ -2,63 +2,63 @@ benches: btreemap_v2_contains_10mib_values: total: calls: 1 - instructions: 22407394 + instructions: 16632877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_256_128: total: calls: 1 - instructions: 899336420 + instructions: 899462217 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_0: total: calls: 1 - instructions: 284758226 + instructions: 285296168 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_1024: total: calls: 1 - instructions: 281861143 + instructions: 277932878 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_32_128: total: calls: 1 - instructions: 241825254 + instructions: 240233990 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_blob_8_128: total: calls: 1 - instructions: 190376872 + instructions: 190764575 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_principal: total: calls: 1 - instructions: 248752140 + instructions: 249247060 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_blob_32_128: total: calls: 1 - instructions: 733465435 + instructions: 735347850 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_then_remove_u64_u64: total: calls: 1 - instructions: 599695571 + instructions: 597959237 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -72,98 +72,98 @@ benches: btreemap_v2_contains_u64_u64: total: calls: 1 - instructions: 170313780 + instructions: 170994633 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_128: total: calls: 1 - instructions: 292053710 + instructions: 293574736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_vec_32_vec128: total: calls: 1 - instructions: 292053710 + instructions: 293574736 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_contains_zipf_10k_u64_u64: total: calls: 1 - instructions: 135335874 + instructions: 135743772 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_256_128: total: calls: 1 - instructions: 460140383 + instructions: 458120431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_0: total: calls: 1 - instructions: 100168375 + instructions: 99688275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_1024: total: calls: 1 - instructions: 261588424 + instructions: 259497164 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_32_128: total: calls: 1 - instructions: 107099030 + instructions: 104795876 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_blob_8_128: total: calls: 1 - instructions: 55624819 + instructions: 55624843 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_principal: total: calls: 1 - instructions: 31505591 + instructions: 31505971 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_u64_u64: total: calls: 1 - instructions: 90115831 + instructions: 90215726 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_128: total: calls: 1 - instructions: 38536426 + instructions: 38587267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_first_key_value_vec_32_vec128: total: calls: 1 - instructions: 38536426 + instructions: 38587267 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_100k_u64_u64: total: calls: 1 - instructions: 2337663921 + instructions: 2343388637 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -177,147 +177,147 @@ benches: btreemap_v2_get_10mib_values: total: calls: 1 - instructions: 328035488 + instructions: 263003134 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob8_u64: total: calls: 1 - instructions: 205906218 + instructions: 205616407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_1024_128: total: calls: 1 - instructions: 2976764731 + instructions: 2976233508 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_128_128: total: calls: 1 - instructions: 576574678 + instructions: 575922479 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_16_128: total: calls: 1 - instructions: 221116933 + instructions: 221769167 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_256_128: total: calls: 1 - instructions: 904562046 + instructions: 904561550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_0: total: calls: 1 - instructions: 286468168 + instructions: 287006110 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_1024: total: calls: 1 - instructions: 293992391 + instructions: 290666868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_128: total: calls: 1 - instructions: 246769421 + instructions: 245316350 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_16: total: calls: 1 - instructions: 247977349 + instructions: 247635259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_256: total: calls: 1 - instructions: 251252001 + instructions: 248110723 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_32: total: calls: 1 - instructions: 244484951 + instructions: 244416294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_4: total: calls: 1 - instructions: 247305037 + instructions: 246846060 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_512: total: calls: 1 - instructions: 259997149 + instructions: 257682297 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_64: total: calls: 1 - instructions: 250033517 + instructions: 247516635 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_32_8: total: calls: 1 - instructions: 245317334 + instructions: 247087511 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_4_128: total: calls: 1 - instructions: 168971679 + instructions: 169181540 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_512_128: total: calls: 1 - instructions: 1590288906 + instructions: 1591956275 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_64_128: total: calls: 1 - instructions: 337323589 + instructions: 336177062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_blob_8_128: total: calls: 1 - instructions: 195505651 + instructions: 195978915 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_miss_u64_u64: total: calls: 1 - instructions: 177613129 + instructions: 178307024 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -331,49 +331,49 @@ benches: btreemap_v2_get_miss_zipf_10k_u64_u64: total: calls: 1 - instructions: 171201231 + instructions: 171909834 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_principal: total: calls: 1 - instructions: 250611431 + instructions: 251107699 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_blob_32_128: total: calls: 1 - instructions: 525958220 + instructions: 525765859 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64: total: calls: 1 - instructions: 374789525 + instructions: 375030642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_insert_u64_u64_nocache: total: calls: 1 - instructions: 604341958 + instructions: 604576977 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_blob_32_128: total: calls: 1 - instructions: 749305942 + instructions: 750750883 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_then_remove_u64_u64: total: calls: 1 - instructions: 603957184 + instructions: 602628511 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -387,728 +387,728 @@ benches: btreemap_v2_get_u64_blob8: total: calls: 1 - instructions: 195006249 + instructions: 194648488 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_u64: total: calls: 1 - instructions: 175010218 + instructions: 175700899 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_u64_vec8: total: calls: 1 - instructions: 168604861 + instructions: 168427952 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec8_u64: total: calls: 1 - instructions: 266576485 + instructions: 265721428 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_1024_128: total: calls: 1 - instructions: 1400344865 + instructions: 1400848737 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_128_128: total: calls: 1 - instructions: 480351971 + instructions: 480257637 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_16_128: total: calls: 1 - instructions: 344979806 + instructions: 344724815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_256_128: total: calls: 1 - instructions: 642229801 + instructions: 644328825 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_0: total: calls: 1 - instructions: 272465065 + instructions: 273037776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_1024: total: calls: 1 - instructions: 445294817 + instructions: 445716443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_128: total: calls: 1 - instructions: 298588409 + instructions: 300131961 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_16: total: calls: 1 - instructions: 309153660 + instructions: 308851199 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_256: total: calls: 1 - instructions: 327374564 + instructions: 327999269 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_32: total: calls: 1 - instructions: 266882610 + instructions: 269052857 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_4: total: calls: 1 - instructions: 269709829 + instructions: 269993263 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_512: total: calls: 1 - instructions: 347671797 + instructions: 347952793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_64: total: calls: 1 - instructions: 288682539 + instructions: 287241239 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_32_8: total: calls: 1 - instructions: 266700567 + instructions: 266996994 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_4_128: total: calls: 1 - instructions: 212946790 + instructions: 211972536 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_512_128: total: calls: 1 - instructions: 1031484305 + instructions: 1030433439 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_64_128: total: calls: 1 - instructions: 402173553 + instructions: 401774425 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_vec_8_128: total: calls: 1 - instructions: 284982020 + instructions: 282634913 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64: total: calls: 1 - instructions: 1986147708 + instructions: 1991798722 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_100k_u64_u64_nocache: total: calls: 1 - instructions: 2743225178 + instructions: 2743225193 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64: total: calls: 1 - instructions: 140015162 + instructions: 140464655 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 226994726 + instructions: 226994711 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_get_zipf_heavy_10k_u64_u64: total: calls: 1 - instructions: 87418647 + instructions: 87684088 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_100k_u64_u64: total: calls: 1 - instructions: 4323649607 + instructions: 4291778109 heap_increase: 0 stable_memory_increase: 60 scopes: {} btreemap_v2_insert_10mib_values: total: calls: 1 - instructions: 4377764759 + instructions: 4375302957 heap_increase: 161 stable_memory_increase: 3613 scopes: {} btreemap_v2_insert_blob8_u64: total: calls: 1 - instructions: 342565168 + instructions: 342831527 heap_increase: 0 stable_memory_increase: 4 scopes: {} btreemap_v2_insert_blob_1024_128: total: calls: 1 - instructions: 4064792526 - heap_increase: 3 + instructions: 4089419201 + heap_increase: 2 stable_memory_increase: 196 scopes: {} btreemap_v2_insert_blob_128_128: total: calls: 1 - instructions: 895872250 + instructions: 898938251 heap_increase: 0 stable_memory_increase: 46 scopes: {} btreemap_v2_insert_blob_16_128: total: calls: 1 - instructions: 399607471 + instructions: 397233634 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_blob_256_128: total: calls: 1 - instructions: 1378995059 - heap_increase: 1 + instructions: 1385784168 + heap_increase: 0 stable_memory_increase: 67 scopes: {} btreemap_v2_insert_blob_32_0: total: calls: 1 - instructions: 404685595 + instructions: 404010801 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_1024: total: calls: 1 - instructions: 655039203 + instructions: 640535326 heap_increase: 0 stable_memory_increase: 173 scopes: {} btreemap_v2_insert_blob_32_128: total: calls: 1 - instructions: 450927375 + instructions: 448746352 heap_increase: 0 stable_memory_increase: 28 scopes: {} btreemap_v2_insert_blob_32_16: total: calls: 1 - instructions: 439139320 + instructions: 438405771 heap_increase: 0 stable_memory_increase: 11 scopes: {} btreemap_v2_insert_blob_32_256: total: calls: 1 - instructions: 482226404 + instructions: 479120078 heap_increase: 0 stable_memory_increase: 49 scopes: {} btreemap_v2_insert_blob_32_32: total: calls: 1 - instructions: 435772786 + instructions: 433815169 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_32_4: total: calls: 1 - instructions: 421848074 + instructions: 420418817 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_blob_32_512: total: calls: 1 - instructions: 549718922 + instructions: 543376008 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_blob_32_64: total: calls: 1 - instructions: 448885416 + instructions: 447280905 heap_increase: 0 stable_memory_increase: 18 scopes: {} btreemap_v2_insert_blob_32_8: total: calls: 1 - instructions: 425327929 + instructions: 423948483 heap_increase: 0 stable_memory_increase: 9 scopes: {} btreemap_v2_insert_blob_4_128: total: calls: 1 - instructions: 325191182 + instructions: 325528558 heap_increase: 0 stable_memory_increase: 13 scopes: {} btreemap_v2_insert_blob_512_128: total: calls: 1 - instructions: 2229713333 - heap_increase: 2 + instructions: 2240845938 + heap_increase: 1 stable_memory_increase: 111 scopes: {} btreemap_v2_insert_blob_64_128: total: calls: 1 - instructions: 566041252 + instructions: 565741268 heap_increase: 0 stable_memory_increase: 34 scopes: {} btreemap_v2_insert_blob_8_128: total: calls: 1 - instructions: 370373816 + instructions: 370623171 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_overwrite_u64_u64: total: calls: 1 - instructions: 295972633 + instructions: 296057608 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_u64_u64_nocache: total: calls: 1 - instructions: 371203942 + instructions: 371438961 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_overwrite_zipf_10k_u64_u64: total: calls: 1 - instructions: 264666234 + instructions: 265045208 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_insert_principal: total: calls: 1 - instructions: 399143035 + instructions: 397790991 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64: total: calls: 1 - instructions: 327454940 + instructions: 333906568 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_seq_u64_u64_nocache: total: calls: 1 - instructions: 471852953 + instructions: 472716458 heap_increase: 0 stable_memory_increase: 8 scopes: {} btreemap_v2_insert_u64_blob8: total: calls: 1 - instructions: 352881413 + instructions: 352838177 heap_increase: 0 stable_memory_increase: 5 scopes: {} btreemap_v2_insert_u64_u64: total: calls: 1 - instructions: 356512353 + instructions: 356162259 heap_increase: 0 stable_memory_increase: 6 scopes: {} btreemap_v2_insert_u64_vec8: total: calls: 1 - instructions: 350868280 + instructions: 351056169 heap_increase: 0 stable_memory_increase: 21 scopes: {} btreemap_v2_insert_vec8_u64: total: calls: 1 - instructions: 428666929 + instructions: 434940532 heap_increase: 0 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_1024_128: total: calls: 1 - instructions: 2176094284 + instructions: 2192230335 heap_increase: 0 stable_memory_increase: 193 scopes: {} btreemap_v2_insert_vec_128_128: total: calls: 1 - instructions: 853826590 + instructions: 862859491 heap_increase: 0 stable_memory_increase: 51 scopes: {} btreemap_v2_insert_vec_16_128: total: calls: 1 - instructions: 554641202 + instructions: 563612378 heap_increase: 0 stable_memory_increase: 31 scopes: {} btreemap_v2_insert_vec_256_128: total: calls: 1 - instructions: 1167646101 + instructions: 1181410426 heap_increase: 0 stable_memory_increase: 71 scopes: {} btreemap_v2_insert_vec_32_0: total: calls: 1 - instructions: 505488863 + instructions: 510924354 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_1024: total: calls: 1 - instructions: 1042551565 + instructions: 1049358367 heap_increase: 0 stable_memory_increase: 171 scopes: {} btreemap_v2_insert_vec_32_128: total: calls: 1 - instructions: 622849112 + instructions: 634848625 heap_increase: 0 stable_memory_increase: 33 scopes: {} btreemap_v2_insert_vec_32_16: total: calls: 1 - instructions: 556059831 + instructions: 562776441 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_256: total: calls: 1 - instructions: 728116546 + instructions: 738460103 heap_increase: 0 stable_memory_increase: 54 scopes: {} btreemap_v2_insert_vec_32_32: total: calls: 1 - instructions: 552188405 + instructions: 556986479 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_4: total: calls: 1 - instructions: 533620920 + instructions: 539343255 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_32_512: total: calls: 1 - instructions: 825393576 + instructions: 834725813 heap_increase: 0 stable_memory_increase: 91 scopes: {} btreemap_v2_insert_vec_32_64: total: calls: 1 - instructions: 557726759 + instructions: 564203551 heap_increase: 0 stable_memory_increase: 24 scopes: {} btreemap_v2_insert_vec_32_8: total: calls: 1 - instructions: 526805598 + instructions: 533050455 heap_increase: 0 stable_memory_increase: 20 scopes: {} btreemap_v2_insert_vec_4_128: total: calls: 1 - instructions: 430094266 + instructions: 436367493 heap_increase: 1 stable_memory_increase: 16 scopes: {} btreemap_v2_insert_vec_512_128: total: calls: 1 - instructions: 1560599459 + instructions: 1567958241 heap_increase: 0 stable_memory_increase: 112 scopes: {} btreemap_v2_insert_vec_64_128: total: calls: 1 - instructions: 716067596 + instructions: 722228540 heap_increase: 0 stable_memory_increase: 41 scopes: {} btreemap_v2_insert_vec_8_128: total: calls: 1 - instructions: 522693467 + instructions: 528020057 heap_increase: 0 stable_memory_increase: 23 scopes: {} btreemap_v2_last_key_value_blob_256_128: total: calls: 1 - instructions: 150866513 + instructions: 150673373 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_0: total: calls: 1 - instructions: 32536906 + instructions: 32536799 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_1024: total: calls: 1 - instructions: 174695841 + instructions: 171435429 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_32_128: total: calls: 1 - instructions: 124669509 + instructions: 125039249 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_blob_8_128: total: calls: 1 - instructions: 52843912 + instructions: 52843988 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_principal: total: calls: 1 - instructions: 75349803 + instructions: 76710295 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_u64_u64: total: calls: 1 - instructions: 87441226 + instructions: 86931340 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_128: total: calls: 1 - instructions: 77430424 + instructions: 78201482 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_last_key_value_vec_32_vec128: total: calls: 1 - instructions: 77430424 + instructions: 78201482 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_blob512_u64: total: calls: 1 - instructions: 1642802487 + instructions: 1643830358 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_blob512: total: calls: 1 - instructions: 214055908 + instructions: 214214487 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_u64: total: calls: 1 - instructions: 214558584 + instructions: 213714676 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_u64_vec512: total: calls: 1 - instructions: 277950466 + instructions: 277358190 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_get_vec512_u64: total: calls: 1 - instructions: 939026094 + instructions: 938767815 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_blob512_u64: total: calls: 1 - instructions: 2312960048 - heap_increase: 2 + instructions: 2319454087 + heap_increase: 1 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_blob512: total: calls: 1 - instructions: 541584997 + instructions: 534153431 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_u64: total: calls: 1 - instructions: 435327127 + instructions: 434571754 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_u64_vec512: total: calls: 1 - instructions: 736441409 + instructions: 736566555 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_insert_vec512_u64: total: calls: 1 - instructions: 1611261315 + instructions: 1618293038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_blob512_u64: total: calls: 1 - instructions: 3523371396 + instructions: 3524433860 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_blob512: total: calls: 1 - instructions: 824400901 + instructions: 822448050 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_u64: total: calls: 1 - instructions: 660667505 + instructions: 660790252 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_u64_vec512: total: calls: 1 - instructions: 1148587559 + instructions: 1148510151 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mem_manager_remove_vec512_u64: total: calls: 1 - instructions: 2754096933 + instructions: 2753136803 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64: total: calls: 1 - instructions: 336996009 + instructions: 337367150 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_mixed_get_insert_zipf_10k_u64_u64_nocache: total: calls: 1 - instructions: 575822414 + instructions: 576031481 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_first_u64_u64: total: calls: 1 - instructions: 451058457 + instructions: 451846877 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_peek_then_pop_last_u64_u64: total: calls: 1 - instructions: 444433223 + instructions: 445250519 heap_increase: 0 stable_memory_increase: 0 scopes: {} @@ -1122,644 +1122,644 @@ benches: btreemap_v2_pop_first_blob_256_128: total: calls: 1 - instructions: 1454882187 + instructions: 1451860053 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_0: total: calls: 1 - instructions: 399046919 + instructions: 398686459 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_1024: total: calls: 1 - instructions: 763014789 + instructions: 761760182 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_32_128: total: calls: 1 - instructions: 482357340 + instructions: 482616093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_blob_8_128: total: calls: 1 - instructions: 337372294 + instructions: 337064290 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_principal: total: calls: 1 - instructions: 414497950 + instructions: 414634432 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_u64_u64: total: calls: 1 - instructions: 404420760 + instructions: 404184794 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_128: total: calls: 1 - instructions: 677717102 + instructions: 677735066 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_first_vec_32_vec128: total: calls: 1 - instructions: 677717102 + instructions: 677735066 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_256_128: total: calls: 1 - instructions: 1357704785 + instructions: 1356341901 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_0: total: calls: 1 - instructions: 366590266 + instructions: 366514459 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_1024: total: calls: 1 - instructions: 715018787 + instructions: 714422032 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_32_128: total: calls: 1 - instructions: 461644933 + instructions: 462413165 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_blob_8_128: total: calls: 1 - instructions: 318906574 + instructions: 319261539 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_principal: total: calls: 1 - instructions: 387097220 + instructions: 387499419 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_u64_u64: total: calls: 1 - instructions: 391034908 + instructions: 390486139 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_128: total: calls: 1 - instructions: 657858212 + instructions: 656405996 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_pop_last_vec_32_vec128: total: calls: 1 - instructions: 657858212 + instructions: 656405996 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_0b: total: calls: 1 - instructions: 17662 + instructions: 17438 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_1k_10kib: total: calls: 1 - instructions: 2410090 + instructions: 2403569 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_count_20_10mib: total: calls: 1 - instructions: 22672648 + instructions: 18468765 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_0b: total: calls: 1 - instructions: 17633 + instructions: 17409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_1k_10kib: total: calls: 1 - instructions: 2475888 + instructions: 2469367 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_key_sum_20_10mib: total: calls: 1 - instructions: 22673882 + instructions: 18469999 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_small_u64_u64: total: calls: 1 - instructions: 18407110 + instructions: 18575496 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_0b: total: calls: 1 - instructions: 18000 + instructions: 17776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_1k_10kib: total: calls: 1 - instructions: 20783848 + instructions: 20796260 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_range_value_sum_20_10mib: total: calls: 1 - instructions: 402513730 + instructions: 398305226 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64: total: calls: 1 - instructions: 6456514230 + instructions: 6459956144 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_100k_u64_u64_nocache: total: calls: 1 - instructions: 7007814650 + instructions: 7007814665 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_10mib_values: total: calls: 1 - instructions: 4684380707 + instructions: 4705256210 heap_increase: 0 stable_memory_increase: 657 scopes: {} btreemap_v2_remove_blob8_u64: total: calls: 1 - instructions: 494182148 + instructions: 494480126 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_1024_128: total: calls: 1 - instructions: 6126054974 + instructions: 6125634073 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_128_128: total: calls: 1 - instructions: 1338413495 + instructions: 1337749920 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_16_128: total: calls: 1 - instructions: 586217744 + instructions: 586094449 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_256_128: total: calls: 1 - instructions: 2008230771 + instructions: 2005641441 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_0: total: calls: 1 - instructions: 590823546 + instructions: 590771254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_1024: total: calls: 1 - instructions: 941124646 + instructions: 941187011 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_128: total: calls: 1 - instructions: 655841714 + instructions: 655869991 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_16: total: calls: 1 - instructions: 625727410 + instructions: 625128260 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_256: total: calls: 1 - instructions: 700230253 + instructions: 700056800 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_32: total: calls: 1 - instructions: 625077004 + instructions: 624857798 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_4: total: calls: 1 - instructions: 617503941 + instructions: 617487671 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_512: total: calls: 1 - instructions: 799964181 + instructions: 800021230 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_64: total: calls: 1 - instructions: 654371088 + instructions: 654498983 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_32_8: total: calls: 1 - instructions: 614151318 + instructions: 614281188 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_4_128: total: calls: 1 - instructions: 373250126 + instructions: 373323149 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_512_128: total: calls: 1 - instructions: 3410366959 + instructions: 3406946939 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_64_128: total: calls: 1 - instructions: 811272110 + instructions: 811679791 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_blob_8_128: total: calls: 1 - instructions: 519845916 + instructions: 520343675 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_principal: total: calls: 1 - instructions: 599003627 + instructions: 598900093 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_blob8: total: calls: 1 - instructions: 524465113 + instructions: 524277916 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_u64: total: calls: 1 - instructions: 534114251 + instructions: 533948350 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_u64_vec8: total: calls: 1 - instructions: 520014088 + instructions: 519927029 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec8_u64: total: calls: 1 - instructions: 638716610 + instructions: 638942966 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_1024_128: total: calls: 1 - instructions: 3955762462 + instructions: 3955976774 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_128_128: total: calls: 1 - instructions: 1290421111 + instructions: 1290393122 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_16_128: total: calls: 1 - instructions: 793281553 + instructions: 792212701 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_256_128: total: calls: 1 - instructions: 1964112180 + instructions: 1974882757 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_0: total: calls: 1 - instructions: 740000223 + instructions: 740347933 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_1024: total: calls: 1 - instructions: 1550054827 + instructions: 1545910320 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_128: total: calls: 1 - instructions: 902035184 + instructions: 902750586 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_16: total: calls: 1 - instructions: 782204900 + instructions: 782529045 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_256: total: calls: 1 - instructions: 1106515917 + instructions: 1109185713 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_32: total: calls: 1 - instructions: 771177415 + instructions: 771617799 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_4: total: calls: 1 - instructions: 772604537 + instructions: 772599254 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_512: total: calls: 1 - instructions: 1267332245 + instructions: 1267880569 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_64: total: calls: 1 - instructions: 839950804 + instructions: 840262373 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_32_8: total: calls: 1 - instructions: 764535310 + instructions: 764575818 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_4_128: total: calls: 1 - instructions: 513815505 + instructions: 511552975 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_512_128: total: calls: 1 - instructions: 2719412687 + instructions: 2719139728 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_64_128: total: calls: 1 - instructions: 1042029844 + instructions: 1040869622 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_vec_8_128: total: calls: 1 - instructions: 701328673 + instructions: 700913260 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_remove_zipf_10k_u64_u64: total: calls: 1 - instructions: 272369751 + instructions: 272321922 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_0b: total: calls: 1 - instructions: 968371 + instructions: 980927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_1k_10kib: total: calls: 1 - instructions: 2715151 + instructions: 2465246 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_20_10mib: total: calls: 1 - instructions: 20568223 + instructions: 18468649 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_0b: total: calls: 1 - instructions: 964430 + instructions: 980453 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_1k_10kib: total: calls: 1 - instructions: 2570693 + instructions: 2452399 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_iter_rev_20_10mib: total: calls: 1 - instructions: 20568215 + instructions: 18468641 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_0b: total: calls: 1 - instructions: 975036 + instructions: 987592 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_1k_10kib: total: calls: 1 - instructions: 2721816 + instructions: 2471911 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_20_10mib: total: calls: 1 - instructions: 20568367 + instructions: 18468793 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_0b: total: calls: 1 - instructions: 970487 + instructions: 986510 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_1k_10kib: total: calls: 1 - instructions: 2576750 + instructions: 2458456 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_keys_rev_20_10mib: total: calls: 1 - instructions: 20568345 + instructions: 18468771 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_0b: total: calls: 1 - instructions: 1223371 + instructions: 1235927 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_1k_10kib: total: calls: 1 - instructions: 57234273 + instructions: 56782402 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_20_10mib: total: calls: 1 - instructions: 1105821582 + instructions: 1103711407 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_0b: total: calls: 1 - instructions: 1217762 + instructions: 1233785 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_1k_10kib: total: calls: 1 - instructions: 57188251 + instructions: 56751789 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreemap_v2_scan_values_rev_20_10mib: total: calls: 1 - instructions: 1105821600 + instructions: 1103710947 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/btreeset/canbench_results.yml b/benchmarks/btreeset/canbench_results.yml index 3c13a663..0a080d40 100644 --- a/benchmarks/btreeset/canbench_results.yml +++ b/benchmarks/btreeset/canbench_results.yml @@ -2,700 +2,700 @@ benches: btreeset_insert_blob_1024: total: calls: 1 - instructions: 3819467481 + instructions: 4096762494 heap_increase: 1 stable_memory_increase: 256 scopes: {} btreeset_insert_blob_128: total: calls: 1 - instructions: 932045243 + instructions: 994766949 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_16: total: calls: 1 - instructions: 440613678 + instructions: 452863495 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_256: total: calls: 1 - instructions: 1370611350 + instructions: 1462541977 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_32: total: calls: 1 - instructions: 502559490 + instructions: 528107224 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_512: total: calls: 1 - instructions: 2155370665 + instructions: 2310838642 heap_increase: 0 stable_memory_increase: 128 scopes: {} btreeset_insert_blob_64: total: calls: 1 - instructions: 591325831 + instructions: 624072231 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_blob_8: total: calls: 1 - instructions: 412947897 + instructions: 431434924 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u32: total: calls: 1 - instructions: 348627420 + instructions: 356067360 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_insert_u64: total: calls: 1 - instructions: 369472286 + instructions: 380413243 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_1024: total: calls: 1 - instructions: 102106469 + instructions: 102069743 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_128: total: calls: 1 - instructions: 16726577 + instructions: 16715392 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_16: total: calls: 1 - instructions: 3048218 + instructions: 3057066 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_256: total: calls: 1 - instructions: 29169998 + instructions: 29311684 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_32: total: calls: 1 - instructions: 4325993 + instructions: 4317715 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_512: total: calls: 1 - instructions: 53691169 + instructions: 53621038 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_64: total: calls: 1 - instructions: 9218121 + instructions: 9209475 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_blob_8: total: calls: 1 - instructions: 2796263 + instructions: 2791259 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u32: total: calls: 1 - instructions: 1933407 + instructions: 1929170 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_intersection_u64: total: calls: 1 - instructions: 1963815 + instructions: 1966126 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_1024: total: calls: 1 - instructions: 44018958 + instructions: 44028549 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_128: total: calls: 1 - instructions: 7949284 + instructions: 7866415 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_16: total: calls: 1 - instructions: 1896294 + instructions: 1887062 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_256: total: calls: 1 - instructions: 13221783 + instructions: 13439142 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_32: total: calls: 1 - instructions: 2550664 + instructions: 2548675 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_512: total: calls: 1 - instructions: 23637834 + instructions: 23625705 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_64: total: calls: 1 - instructions: 4374738 + instructions: 4389180 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_blob_8: total: calls: 1 - instructions: 1866288 + instructions: 1850978 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u32: total: calls: 1 - instructions: 1320693 + instructions: 1300614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_disjoint_u64: total: calls: 1 - instructions: 1345685 + instructions: 1355443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_1024: total: calls: 1 - instructions: 361583 + instructions: 360473 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_128: total: calls: 1 - instructions: 86990 + instructions: 85468 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_16: total: calls: 1 - instructions: 54832 + instructions: 54043 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_256: total: calls: 1 - instructions: 126001 + instructions: 126623 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_32: total: calls: 1 - instructions: 46770 + instructions: 44799 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_512: total: calls: 1 - instructions: 205068 + instructions: 204470 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_64: total: calls: 1 - instructions: 55953 + instructions: 55506 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_blob_8: total: calls: 1 - instructions: 53672 + instructions: 53346 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u32: total: calls: 1 - instructions: 43273 + instructions: 43614 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_subset_u64: total: calls: 1 - instructions: 44076 + instructions: 44053 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_1024: total: calls: 1 - instructions: 78971177 + instructions: 78979443 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_128: total: calls: 1 - instructions: 13387281 + instructions: 13350129 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_16: total: calls: 1 - instructions: 2914450 + instructions: 2902902 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_256: total: calls: 1 - instructions: 22999640 + instructions: 23188089 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_32: total: calls: 1 - instructions: 4098319 + instructions: 4083042 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_512: total: calls: 1 - instructions: 41542502 + instructions: 41743303 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_64: total: calls: 1 - instructions: 7276732 + instructions: 7280466 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_blob_8: total: calls: 1 - instructions: 2725464 + instructions: 2726274 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u32: total: calls: 1 - instructions: 1919616 + instructions: 1919762 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_is_superset_u64: total: calls: 1 - instructions: 1963745 + instructions: 1955901 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_1024: total: calls: 1 - instructions: 432859403 + instructions: 431626717 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_128: total: calls: 1 - instructions: 74530512 + instructions: 74347680 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_16: total: calls: 1 - instructions: 14424726 + instructions: 14603201 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_256: total: calls: 1 - instructions: 129335234 + instructions: 129387220 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_32: total: calls: 1 - instructions: 21441204 + instructions: 20847447 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_512: total: calls: 1 - instructions: 230840514 + instructions: 230367409 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_64: total: calls: 1 - instructions: 39345025 + instructions: 39259847 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_blob_8: total: calls: 1 - instructions: 13717206 + instructions: 13838776 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u32: total: calls: 1 - instructions: 10565339 + instructions: 10645096 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_iter_u64: total: calls: 1 - instructions: 10658818 + instructions: 10781550 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_1024: total: calls: 1 - instructions: 260609274 + instructions: 259785932 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_128: total: calls: 1 - instructions: 45462197 + instructions: 45385642 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_16: total: calls: 1 - instructions: 9625960 + instructions: 9583941 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_256: total: calls: 1 - instructions: 78547663 + instructions: 78419986 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_32: total: calls: 1 - instructions: 13698315 + instructions: 13235727 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_512: total: calls: 1 - instructions: 139239246 + instructions: 139102127 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_64: total: calls: 1 - instructions: 24388779 + instructions: 24606935 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_blob_8: total: calls: 1 - instructions: 8934645 + instructions: 9248058 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u32: total: calls: 1 - instructions: 6515140 + instructions: 6609057 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_range_u64: total: calls: 1 - instructions: 6557837 + instructions: 6591868 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_1024: total: calls: 1 - instructions: 4428443506 + instructions: 4423467563 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_128: total: calls: 1 - instructions: 1007669723 + instructions: 1006751587 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_16: total: calls: 1 - instructions: 454727039 + instructions: 454200455 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_256: total: calls: 1 - instructions: 1517994853 + instructions: 1525976294 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_32: total: calls: 1 - instructions: 542261825 + instructions: 541084260 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_512: total: calls: 1 - instructions: 2405887502 + instructions: 2404488269 heap_increase: 1 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_64: total: calls: 1 - instructions: 656637839 + instructions: 653155159 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_blob_8: total: calls: 1 - instructions: 417280511 + instructions: 416027533 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u32: total: calls: 1 - instructions: 348641958 + instructions: 349076873 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_remove_u64: total: calls: 1 - instructions: 363813310 + instructions: 363543763 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_1024: total: calls: 1 - instructions: 102097129 + instructions: 102060403 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_128: total: calls: 1 - instructions: 16706485 + instructions: 16695300 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_16: total: calls: 1 - instructions: 3025890 + instructions: 3034738 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_256: total: calls: 1 - instructions: 29151442 + instructions: 29293128 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_32: total: calls: 1 - instructions: 4291735 + instructions: 4283457 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_512: total: calls: 1 - instructions: 53675685 + instructions: 53605554 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_64: total: calls: 1 - instructions: 9197261 + instructions: 9188615 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_blob_8: total: calls: 1 - instructions: 2779394 + instructions: 2774390 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u32: total: calls: 1 - instructions: 1913043 + instructions: 1908806 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_symmetric_difference_u64: total: calls: 1 - instructions: 1934432 + instructions: 1936743 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_1024: total: calls: 1 - instructions: 102117138 + instructions: 102080412 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_128: total: calls: 1 - instructions: 16726494 + instructions: 16715309 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_16: total: calls: 1 - instructions: 3046381 + instructions: 3055229 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_256: total: calls: 1 - instructions: 29171451 + instructions: 29313137 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_32: total: calls: 1 - instructions: 4324210 + instructions: 4315932 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_512: total: calls: 1 - instructions: 53695694 + instructions: 53625563 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_64: total: calls: 1 - instructions: 9217270 + instructions: 9208624 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_blob_8: total: calls: 1 - instructions: 2794390 + instructions: 2789386 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u32: total: calls: 1 - instructions: 1912557 + instructions: 1908320 heap_increase: 0 stable_memory_increase: 0 scopes: {} btreeset_union_u64: total: calls: 1 - instructions: 1967938 + instructions: 1970249 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/benchmarks/io_chunks/canbench_results.yml b/benchmarks/io_chunks/canbench_results.yml index c60a5093..d406ece9 100644 --- a/benchmarks/io_chunks/canbench_results.yml +++ b/benchmarks/io_chunks/canbench_results.yml @@ -65,21 +65,21 @@ benches: write_chunks_btreemap_1: total: calls: 1 - instructions: 357205398 + instructions: 357205395 heap_increase: 13 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1k: total: calls: 1 - instructions: 3742236376 + instructions: 3921144695 heap_increase: 2 stable_memory_increase: 1536 scopes: {} write_chunks_btreemap_1m: total: calls: 1 - instructions: 52113889736 + instructions: 53667232586 heap_increase: 0 stable_memory_increase: 3072 scopes: {} diff --git a/benchmarks/nns/canbench_results.yml b/benchmarks/nns/canbench_results.yml index 67637e6b..694a2443 100644 --- a/benchmarks/nns/canbench_results.yml +++ b/benchmarks/nns/canbench_results.yml @@ -58,56 +58,56 @@ benches: vote_cascading_stable_centralized_10k: total: calls: 1 - instructions: 1375338219 + instructions: 1361124087 heap_increase: 10 stable_memory_increase: 0 scopes: {} vote_cascading_stable_centralized_1k: total: calls: 1 - instructions: 100187130 + instructions: 99953937 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_15: total: calls: 1 - instructions: 9777725729 + instructions: 9747582279 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_10k_5: total: calls: 1 - instructions: 2883948943 + instructions: 2896435872 heap_increase: 5 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_15: total: calls: 1 - instructions: 863593325 + instructions: 866417732 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_chain_1k_5: total: calls: 1 - instructions: 250617384 + instructions: 248615294 heap_increase: 1 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_10k: total: calls: 1 - instructions: 92428 + instructions: 92582 heap_increase: 0 stable_memory_increase: 0 scopes: {} vote_cascading_stable_single_vote_1k: total: calls: 1 - instructions: 68586 + instructions: 68060 heap_increase: 0 stable_memory_increase: 0 scopes: {} diff --git a/src/btreemap.rs b/src/btreemap.rs index 195f3fdd..3f8846f1 100644 --- a/src/btreemap.rs +++ b/src/btreemap.rs @@ -741,9 +741,6 @@ where // the child where we need to store the entry in. let idx = node.search(&key, self.memory()).unwrap_or_else(|idx| idx); child = self.load_node(node.child(idx)); - // split_child saved node to memory; return the - // up-to-date in-memory copy to the cache. - self.return_node(node, depth); } else { // Happy path: child is not full. The current node // will not be modified — return it to cache.