Skip to content

Conversation

@tomijaga
Copy link
Member

@tomijaga tomijaga commented Aug 10, 2025

Related to: #9, #8

Changes

@github-actions
Copy link

github-actions bot commented Aug 10, 2025

Benchmark Results

bench/MemoryBTree/BTree-specific-fns.bench.mo $({\color{green}-6.05\%})$

Comparing B+Tree and MemoryBTree

Benchmarking the performance with 10k entries

Instructions: ${\color{green}-4.77\%}$
Heap: ${\color{green}-1.28\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{green}-0.00\%}$

Instructions

B+Tree MemoryBTree
getFromIndex() 59_607_820 $({\color{green}-13.87\%})$ 398_814_699 $({\color{green}-7.15\%})$
getIndex() 151_145_137 $({\color{green}-10.22\%})$ 949_385_002 $({\color{green}-2.98\%})$
getFloor() 75_126_655 $({\color{green}-6.97\%})$ 348_155_017 $({\color{green}-3.98\%})$
getCeiling() 75_127_180 $({\color{green}-6.97\%})$ 348_155_497 $({\color{green}-3.98\%})$
removeMin() 132_330_032 $({\color{green}-13.07\%})$ 839_357_562 $({\color{red}+10.98\%})$
removeMax() 104_270_924 $({\color{green}-10.77\%})$ 787_496_068 $({\color{red}+11.79\%})$

Heap

B+Tree MemoryBTree
getFromIndex() 322.33 KiB $({\color{gray}0\%})$ 3.52 MiB $({\color{gray}0\%})$
getIndex() 584.76 KiB $({\color{green}-0.01\%})$ 8.97 MiB $({\color{gray}0\%})$
getFloor() 213.27 KiB $({\color{gray}0\%})$ -23 MiB $({\color{gray}0\%})$
getCeiling() 213.27 KiB $({\color{gray}0\%})$ 7.41 MiB $({\color{gray}0\%})$
removeMin() 212.86 KiB $({\color{gray}0\%})$ -2.69 MiB $({\color{green}-22.23\%})$
removeMax() 206.89 KiB $({\color{gray}0\%})$ 12.03 MiB $({\color{red}+6.85\%})$

Garbage Collection

B+Tree MemoryBTree
getFromIndex() 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
getIndex() 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
getFloor() 0 B $({\color{gray}0\%})$ 30.4 MiB $({\color{gray}0\%})$
getCeiling() 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
removeMin() 0 B $({\color{gray}0\%})$ 28.65 MiB $({\color{green}-0.00\%})$
removeMax() 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
bench/MemoryBTree/BTree.Types.bench.mo $({\color{green}-64.22\%})$

Comparing B+Tree and Memory B+Tree with different serialization formats and comparison functions

Benchmarking the performance with 10k entries

Instructions: ${\color{green}-6.81\%}$
Heap: ${\color{green}-46.74\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{green}-10.67\%}$

Instructions

insert() get() replace() entries() remove()
Memory B+Tree - Text (#BlobCmp) 322_960_389 $({\color{green}-5.44\%})$ 267_908_532 $({\color{green}-5.35\%})$ 293_734_338 $({\color{green}-5.28\%})$ 41_143_451 $({\color{green}-7.07\%})$ 371_394_498 $({\color{green}-4.42\%})$
Memory B+Tree - Text (#GenCmp) 446_607_236 $({\color{green}-5.51\%})$ 389_244_625 $({\color{green}-5.49\%})$ 415_070_427 $({\color{green}-5.43\%})$ 41_144_107 $({\color{green}-7.07\%})$ 479_295_627 $({\color{green}-4.73\%})$
Memory B+Tree - Nat (#BlobCmp) 343_618_573 $({\color{green}-6.02\%})$ 294_007_663 $({\color{green}-6.21\%})$ 329_138_629 $({\color{green}-6.38\%})$ 74_509_800 $({\color{green}-10.34\%})$ 404_150_531 $({\color{green}-5.16\%})$
Memory B+Tree - Nat (#GenCmp) 637_554_900 $({\color{green}-9.12\%})$ 579_089_982 $({\color{green}-9.42\%})$ 614_220_788 $({\color{green}-9.33\%})$ 74_510_433 $({\color{green}-10.34\%})$ 658_021_171 $({\color{green}-8.14\%})$

Heap

insert() get() replace() entries() remove()
Memory B+Tree - Text (#BlobCmp) 7.64 MiB $({\color{green}-0.00\%})$ -26.58 MiB $({\color{red}+0.02\%})$ 4.31 MiB $({\color{gray}0\%})$ 1.31 MiB $({\color{gray}0\%})$ 9.57 MiB $({\color{red}+4.20\%})$
Memory B+Tree - Text (#GenCmp) 10.81 MiB $({\color{green}-0.00\%})$ -21.44 MiB $({\color{red}+0.03\%})$ 7.39 MiB $({\color{gray}0\%})$ 1.31 MiB $({\color{gray}0\%})$ 12.3 MiB $({\color{red}+3.24\%})$
Memory B+Tree - Nat (#BlobCmp) -22 MiB $({\color{green}-354.00\%})$ 4.86 MiB $({\color{green}-120.50\%})$ 5.89 MiB $({\color{gray}0\%})$ 2.3 MiB $({\color{gray}0\%})$ 10.42 MiB $({\color{red}+3.85\%})$
Memory B+Tree - Nat (#GenCmp) -9.37 MiB $({\color{green}-17.92\%})$ -15.52 MiB $({\color{green}-202.61\%})$ 16.16 MiB $({\color{green}-229.95\%})$ 2.3 MiB $({\color{gray}0\%})$ -9.05 MiB $({\color{green}-21.19\%})$

Garbage Collection

insert() get() replace() entries() remove()
Memory B+Tree - Text (#BlobCmp) 0 B $({\color{gray}0\%})$ 30.65 MiB $({\color{red}+0.02\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree - Text (#GenCmp) 0 B $({\color{gray}0\%})$ 28.6 MiB $({\color{red}+0.02\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree - Nat (#BlobCmp) 30.65 MiB $({\color{red}+Infinity\%})$ 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree - Nat (#GenCmp) 28.6 MiB $({\color{green}-6.68\%})$ 30.65 MiB $({\color{red}+Infinity\%})$ 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 28.6 MiB $({\color{green}-6.68\%})$
bench/MemoryBTree/MemoryBTree.bench.mo $({\color{green}-12.64\%})$

Comparing RBTree, BTree and B+Tree (BpTree)

Benchmarking the performance with 10k entries

Instructions: ${\color{green}-4.65\%}$
Heap: ${\color{green}-8.00\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{red}+0.01\%}$

Instructions

insert() get() replace() entries() remove()
RBTree 153_973_116 $({\color{green}-9.03\%})$ 75_971_287 $({\color{green}-6.63\%})$ 156_113_188 $({\color{green}-8.77\%})$ 23_004_083 $({\color{green}-10.82\%})$ 179_785_016 $({\color{green}-10.79\%})$
BTree 139_434_587 $({\color{green}-8.07\%})$ 110_598_701 $({\color{green}-5.92\%})$ 118_295_406 $({\color{green}-6.29\%})$ 11_985_168 $({\color{green}-9.94\%})$ 159_704_852 $({\color{green}-8.55\%})$
B+Tree 192_575_989 $({\color{green}-9.44\%})$ 107_046_645 $({\color{green}-5.50\%})$ 113_296_325 $({\color{green}-6.83\%})$ 3_780_054 $({\color{green}-20.14\%})$ 203_112_458 $({\color{green}-10.83\%})$
Memory B+Tree (#BlobCmp) 321_372_389 $({\color{green}-5.72\%})$ 267_703_044 $({\color{green}-5.72\%})$ 580_589_579 $({\color{red}+25.64\%})$ 41_430_940 $({\color{green}-7.03\%})$ 527_853_851 $({\color{red}+7.91\%})$
Memory B+Tree (#GenCmp) 445_864_676 $({\color{green}-5.51\%})$ 390_071_598 $({\color{green}-5.51\%})$ 702_957_810 $({\color{red}+18.95\%})$ 41_431_435 $({\color{green}-7.03\%})$ 636_951_582 $({\color{red}+5.45\%})$

Heap

insert() get() replace() entries() remove()
RBTree 8.61 MiB $({\color{gray}0\%})$ 9.83 KiB $({\color{gray}0\%})$ 7.87 MiB $({\color{gray}0\%})$ 1.8 MiB $({\color{gray}0\%})$ -17.3 MiB $({\color{red}+0.01\%})$
BTree 1.17 MiB $({\color{gray}0\%})$ 471.22 KiB $({\color{gray}0\%})$ 1.1 MiB $({\color{gray}0\%})$ 589.23 KiB $({\color{gray}0\%})$ 1.87 MiB $({\color{gray}0\%})$
B+Tree 671.09 KiB $({\color{gray}0\%})$ 205.14 KiB $({\color{gray}0\%})$ 595.77 KiB $({\color{gray}0\%})$ 9.95 KiB $({\color{gray}0\%})$ 205.15 KiB $({\color{gray}0\%})$
Memory B+Tree (#BlobCmp) 7.59 MiB $({\color{green}-0.00\%})$ 4.08 MiB $({\color{gray}0\%})$ -18.82 MiB $({\color{green}-10.59\%})$ 1.3 MiB $({\color{gray}0\%})$ 10.08 MiB $({\color{red}+6.11\%})$
Memory B+Tree (#GenCmp) 10.76 MiB $({\color{green}-0.00\%})$ -22.38 MiB $({\color{red}+0.01\%})$ 11.61 MiB $({\color{red}+24.41\%})$ 1.3 MiB $({\color{gray}0\%})$ -14.67 MiB $({\color{green}-219.88\%})$

Garbage Collection

insert() get() replace() entries() remove()
RBTree 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 29.54 MiB $({\color{red}+0.00\%})$
BTree 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
B+Tree 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree (#BlobCmp) 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 27.35 MiB $({\color{red}+0.17\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree (#GenCmp) 0 B $({\color{gray}0\%})$ 29.54 MiB $({\color{red}+0.00\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 27.48 MiB $({\color{red}+Infinity\%})$
bench/MemoryBTree/MemoryBTree.node-capacity.bench.mo $({\color{green}-133.74\%})$

Comparing the Memory B+Tree with different node capacities

Benchmarking the performance with 10k entries

Instructions: ${\color{red}+1.24\%}$
Heap: ${\color{green}-124.66\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{green}-10.32\%}$

Instructions

insert() get() replace() entries() remove()
B+Tree 142_892_559 $({\color{green}-8.32\%})$ 115_702_020 $({\color{green}-5.63\%})$ 124_241_724 $({\color{green}-7.62\%})$ 3_867_883 $({\color{green}-20.36\%})$ 148_834_106 $({\color{green}-10.08\%})$
Memory B+Tree (4) 562_743_962 $({\color{green}-6.06\%})$ 437_654_474 $({\color{green}-5.93\%})$ 881_854_870 $({\color{red}+12.57\%})$ 43_768_724 $({\color{green}-7.14\%})$ 894_163_017 $({\color{red}+4.75\%})$
Memory B+Tree (32) 356_918_375 $({\color{green}-5.85\%})$ 300_974_882 $({\color{green}-5.75\%})$ 632_623_278 $({\color{red}+22.25\%})$ 41_666_433 $({\color{green}-7.04\%})$ 581_023_329 $({\color{red}+6.73\%})$
Memory B+Tree (64) 342_464_994 $({\color{green}-5.82\%})$ 294_465_659 $({\color{green}-5.76\%})$ 626_113_055 $({\color{red}+22.62\%})$ 41_505_845 $({\color{green}-7.03\%})$ 558_003_964 $({\color{red}+7.13\%})$
Memory B+Tree (128) 321_372_126 $({\color{green}-5.72\%})$ 267_692_928 $({\color{green}-5.72\%})$ 580_589_324 $({\color{red}+25.64\%})$ 41_430_987 $({\color{green}-7.03\%})$ 527_923_091 $({\color{red}+7.93\%})$
Memory B+Tree (256) 323_817_170 $({\color{green}-5.60\%})$ 266_593_303 $({\color{green}-5.73\%})$ 579_489_859 $({\color{red}+25.72\%})$ 41_393_103 $({\color{green}-7.02\%})$ 526_776_629 $({\color{red}+7.98\%})$
Memory B+Tree (512) 334_561_799 $({\color{green}-5.37\%})$ 265_753_157 $({\color{green}-5.73\%})$ 578_649_553 $({\color{red}+25.78\%})$ 41_373_683 $({\color{green}-7.02\%})$ 532_309_242 $({\color{red}+7.95\%})$
Memory B+Tree (1024) 357_541_677 $({\color{green}-4.98\%})$ 264_720_441 $({\color{green}-5.73\%})$ 577_616_837 $({\color{red}+25.85\%})$ 41_367_723 $({\color{green}-7.02\%})$ 549_476_014 $({\color{red}+7.75\%})$
Memory B+Tree (2048) 404_700_732 $({\color{green}-4.35\%})$ 262_795_135 $({\color{green}-5.73\%})$ 575_691_531 $({\color{red}+25.99\%})$ 41_372_643 $({\color{green}-7.02\%})$ 589_345_033 $({\color{red}+7.27\%})$
Memory B+Tree (4096) 489_632_678 $({\color{green}-3.52\%})$ 259_095_808 $({\color{green}-5.74\%})$ 571_992_204 $({\color{red}+26.26\%})$ 41_390_825 $({\color{green}-7.02\%})$ 670_065_891 $({\color{red}+6.45\%})$

Heap

insert() get() replace() entries() remove()
B+Tree 716.93 KiB $({\color{gray}0\%})$ 205.14 KiB $({\color{gray}0\%})$ 595.77 KiB $({\color{gray}0\%})$ 9.95 KiB $({\color{gray}0\%})$ 205.15 KiB $({\color{gray}0\%})$
Memory B+Tree (4) 5.49 MiB $({\color{green}-0.36\%})$ 5.76 MiB $({\color{gray}0\%})$ 10.21 MiB $({\color{red}+28.72\%})$ 1.3 MiB $({\color{gray}0\%})$ -20.31 MiB $({\color{green}-3.61\%})$
Memory B+Tree (32) 5.3 MiB $({\color{green}-0.01\%})$ 4.46 MiB $({\color{gray}0\%})$ 8.91 MiB $({\color{red}+34.33\%})$ 1.3 MiB $({\color{gray}0\%})$ -19.31 MiB $({\color{green}-2.96\%})$
Memory B+Tree (64) 6.03 MiB $({\color{green}-0.00\%})$ 4.36 MiB $({\color{gray}0\%})$ 8.81 MiB $({\color{red}+34.86\%})$ 1.3 MiB $({\color{gray}0\%})$ -20.75 MiB $({\color{green}-353.23\%})$
Memory B+Tree (128) 7.59 MiB $({\color{green}-134.61\%})$ 4.08 MiB $({\color{gray}0\%})$ 8.53 MiB $({\color{red}+36.43\%})$ -25.98 MiB $({\color{green}-2097.78\%})$ 10.08 MiB $({\color{red}+6.11\%})$
Memory B+Tree (256) 11.01 MiB $({\color{green}-166.86\%})$ 4.06 MiB $({\color{gray}0\%})$ -20.94 MiB $({\color{green}-435.85\%})$ 1.3 MiB $({\color{gray}0\%})$ 12.98 MiB $({\color{green}-175.78\%})$
Memory B+Tree (512) -9.78 MiB $({\color{green}-155.29\%})$ 4.05 MiB $({\color{gray}0\%})$ 8.5 MiB $({\color{green}-140.04\%})$ 1.3 MiB $({\color{gray}0\%})$ -10.94 MiB $({\color{green}-160.78\%})$
Memory B+Tree (1024) 3.04 MiB $({\color{red}+206.88\%})$ 4.04 MiB $({\color{green}-117.23\%})$ 8.48 MiB $({\color{red}+36.70\%})$ -28.03 MiB $({\color{green}-2255.61\%})$ 2.04 MiB $({\color{green}-449.38\%})$
Memory B+Tree (2048) -2.65 MiB $({\color{green}-32.99\%})$ 4.01 MiB $({\color{gray}0\%})$ 8.45 MiB $({\color{red}+36.88\%})$ 1.3 MiB $({\color{gray}0\%})$ -7.53 MiB $({\color{green}-6.99\%})$
Memory B+Tree (4096) 8.21 MiB $({\color{red}+0.01\%})$ 3.95 MiB $({\color{gray}0\%})$ 8.39 MiB $({\color{red}+37.24\%})$ 1.3 MiB $({\color{gray}0\%})$ -27.89 MiB $({\color{green}-1.97\%})$

Garbage Collection

insert() get() replace() entries() remove()
B+Tree 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree (4) 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 29.53 MiB $({\color{red}+0.00\%})$
Memory B+Tree (32) 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 27.47 MiB $({\color{red}+0.02\%})$
Memory B+Tree (64) 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 29.53 MiB $({\color{red}+Infinity\%})$
Memory B+Tree (128) 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 27.28 MiB $({\color{red}+Infinity\%})$ 0 B $({\color{gray}0\%})$
Memory B+Tree (256) 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 29.45 MiB $({\color{red}+Infinity\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{green}-100.00\%})$
Memory B+Tree (512) 27.47 MiB $({\color{red}+Infinity\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 29.52 MiB $({\color{red}+Infinity\%})$
Memory B+Tree (1024) 27.47 MiB $({\color{green}-6.95\%})$ 0 B $({\color{green}-100.00\%})$ 0 B $({\color{gray}0\%})$ 29.33 MiB $({\color{red}+Infinity\%})$ 27.47 MiB $({\color{green}-6.95\%})$
Memory B+Tree (2048) 58.16 MiB $({\color{green}-2.20\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 59.47 MiB $({\color{red}+0.02\%})$
Memory B+Tree (4096) 91.42 MiB $({\color{green}-0.00\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 0 B $({\color{gray}0\%})$ 123.45 MiB $({\color{red}+0.01\%})$
No previous results found "/home/runner/work/memory-collection/memory-collection/.bench/MemoryBuffer.Blob.bench.json"
bench/MemoryBuffer/MemoryBuffer.Blob.bench.mo $({\color{gray}0\%})$

Buffer vs MemoryBuffer

Benchmarking the performance with 10k entries

Instructions: ${\color{gray}0\%}$
Heap: ${\color{gray}0\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{gray}0\%}$

Instructions

Buffer MemoryBuffer
add() 4_381_897 31_547_415
get() 2_342_477 14_059_475
put() (new == prev) 3_673_233 18_382_388
put() (new > prev) 3_943_916 329_160_259
put() (new < prev) 3_944_601 279_886_783
add() reallocation 7_908_427 376_844_413
removeLast() 4_037_158 144_939_196
reverse() 3_114_880 9_398_189
remove() 3_321_770_389 629_288_800
insert() 2_826_839_860 444_302_099
shuffle() 5_890 211_272_085
sortUnstable() #GenCmp 108_327_982 704_705_336
shuffle() 5_890 211_272_085
sortUnstable() #BlobCmp 6_101 662_425_806

Heap

Buffer MemoryBuffer
add() 9.83 KiB 9.93 KiB
get() 9.83 KiB 508.45 KiB
put() (new == prev) 9.83 KiB 9.84 KiB
put() (new > prev) 9.84 KiB 4.04 MiB
put() (new < prev) 9.84 KiB 2.45 MiB
add() reallocation 156.34 KiB 8.13 MiB
removeLast() 9.83 KiB 1.6 MiB
reverse() 9.78 KiB 244.21 KiB
remove() 97.89 KiB -26.04 MiB
insert() 152.3 KiB 2.77 MiB
shuffle() 9.78 KiB 7.52 MiB
sortUnstable() #GenCmp 2.41 MiB -6.91 MiB
shuffle() 9.78 KiB 7.52 MiB
sortUnstable() #BlobCmp 9.78 KiB -4.68 MiB

Garbage Collection

Buffer MemoryBuffer
add() 0 B 0 B
get() 0 B 0 B
put() (new == prev) 0 B 0 B
put() (new > prev) 0 B 0 B
put() (new < prev) 0 B 0 B
add() reallocation 0 B 0 B
removeLast() 0 B 0 B
reverse() 0 B 0 B
remove() 0 B 219.41 MiB
insert() 0 B 187.42 MiB
shuffle() 0 B 0 B
sortUnstable() #GenCmp 0 B 29.69 MiB
shuffle() 0 B 0 B
sortUnstable() #BlobCmp 0 B 27.64 MiB
bench/MemoryQueue/MemoryQueue.bench.mo $({\color{green}-0.74\%})$

Benchmarking the MemoryQueue

Benchmarking the performance with 10k calls

Instructions: ${\color{green}-5.99\%}$
Heap: ${\color{red}+5.24\%}$
Stable Memory: ${\color{gray}0\%}$
Garbage Collection: ${\color{gray}0\%}$

Instructions

MemoryQueue
add() 35_564_828 $({\color{green}-11.45\%})$
vals() 40_563_845 $({\color{green}-10.58\%})$
pop() 77_153_578 $({\color{green}-6.51\%})$
random add()/pop() 177_121_291 $({\color{red}+4.60\%})$

Heap

MemoryQueue
add() 1.04 MiB $({\color{gray}0\%})$
vals() 1.34 MiB $({\color{gray}0\%})$
pop() 2.07 MiB $({\color{red}+10.16\%})$
random add()/pop() 5.69 MiB $({\color{red}+10.82\%})$

Garbage Collection

MemoryQueue
add() 0 B $({\color{gray}0\%})$
vals() 0 B $({\color{gray}0\%})$
pop() 0 B $({\color{gray}0\%})$
random add()/pop() 0 B $({\color{gray}0\%})$

@tomijaga tomijaga force-pushed the dev branch 2 times, most recently from 07ef85d to 8ff8b14 Compare August 11, 2025 00:11
@tomijaga tomijaga merged commit 2e2acb3 into main Aug 11, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants