Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OrderedMap/Set: Final benchmarks #3

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

OrderedMap/Set: Final benchmarks #3

wants to merge 2 commits into from

Conversation

GoPavel
Copy link

@GoPavel GoPavel commented Nov 14, 2024

General API

binary_size generate max mem batch_get 50 batch_put 50 batch_remove 50 upgrade
hashmap+100 194_129 728_602 45_168 330_800 863_789 356_803 936_103
triemap+100 199_671 531_418 47_652 131_761 307_280 295_269 742_708
rbtree+100 190_190 225_155 42_540 50_045 135_367 133_686 566_251
splay+100 194_749 344_110 69_392 207_139 228_882 299_475 355_842
btree+100 234_430 491_601 8_896 135_533 298_908 327_229 344_118
zhenya_hashmap+100 192_961 253_112 17_536 55_800 185_513 76_744 668_129
orderedmap+100 200_787 207_648 44_200 52_994 133_459 137_455 391_364
orderedset+100 220_412 186_481 37_936 53_044 121_237 127_419 346_137
hashmap+1000 194_129 6_924_691 422_632 332_610 5_477_848 358_489 9_074_930
triemap+1000 199_671 7_037_243 636_828 163_325 396_036 384_623 8_750_962
rbtree+1000 190_190 3_118_490 580_948 67_516 181_375 180_396 5_410_399
splay+1000 194_749 6_623_094 48_364 329_041 341_197 461_473 3_240_539
btree+1000 234_430 6_129_212 95_156 198_251 357_759 370_115 2_484_810
zhenya_hashmap+1000 192_961 2_173_757 143_836 56_752 1_005_786 77_119 5_204_929
orderedmap+1000 200_787 2_810_756 597_008 70_361 171_804 182_848 3_637_927
orderedset+1000 220_412 2_561_336 520_384 69_883 158_349 170_418 3_186_608
hashmap+10000 194_129 80_760_648 560_552 336_742 63_857_793 362_328 106_881_915
triemap+10000 199_671 102_087_631 683_056 193_461 465_630 467_592 122_670_625
rbtree+10000 190_190 51_301_049 520_428 83_465 224_135 230_257 53_867_183
splay+10000 194_749 87_533_516 480_364 425_787 452_930 629_400 43_664_730
btree+10000 234_430 77_756_728 249_576 236_188 405_920 368_759 23_970_936
zhenya_hashmap+10000 192_961 30_088_490 262_432 55_800 65_666 76_680 42_247_444
orderedmap+10000 200_787 43_301_258 360_488 86_826 208_342 230_758 36_042_091
orderedset+10000 220_412 40_015_600 320_552 84_660 192_931 215_592 31_521_985
hashmap+100000 194_129 814_029_277 5_601_376 340_210 642_086_831 365_138 1_079_594_955
triemap+100000 199_671 1_193_733_073 6_826_780 222_786 567_881 555_980 1_396_066_309
rbtree+100000 190_190 606_914_881 5_200_428 98_012 270_465 276_802 698_929_134
splay+100000 194_749 1_090_265_719 4_800_364 529_286 570_477 758_440 440_541_791
btree+100000 234_430 903_280_136 2_516_856 292_301 453_107 459_267 291_556_947
zhenya_hashmap+100000 192_961 264_253_408 2_097_440 56_276 67_406 79_086 373_233_775
orderedmap+100000 200_787 512_987_965 3_600_488 101_335 247_557 275_430 458_336_194
orderedset+100000 220_412 476_279_001 3_200_552 98_553 230_123 258_372 409_032_692
hashmap+1000000 194_129 8_193_819_060 56_000_256 342_788 6_469_781_020 368_431 10_766_389_949
triemap+1000000 199_671 13_670_187_584 68_228_576 252_704 657_887 648_184 15_537_338_607
rbtree+1000000 190_190 6_993_676_959 52_000_464 116_417 317_299 330_296 6_988_883_792
splay+1000000 194_749 13_052_525_320 48_000_400 625_852 657_023 920_272 4_321_904_232
btree+1000000 234_430 10_220_059_976 25_108_416 357_581 485_463 539_509 2_906_462_612
zhenya_hashmap+1000000 192_961 2_361_649_032 16_777_504 58_299 66_594 79_776 3_084_236_540
orderedmap+1000000 200_787 5_918_269_360 36_000_524 120_106 287_536 327_069 4_583_353_763
orderedset+1000000 220_412 5_514_203_487 32_000_552 115_836 268_236 306_855 4_090_303_853

New API

size foldLeft foldRight mapfilter map
orderedmap+100 20_047 19_559 92_297 26_359
orderedset+100 16_694 16_463 88_228 224_756
orderedmap+1000 169_657 164_169 1_603_215 230_405
orderedset+1000 135_692 131_953 1_528_510 4_038_123
orderedmap+10000 1_668_063 1_609_832 29_937_051 2_270_620
orderedset+10000 1_325_127 1_287_495 28_475_579 51_548_115
orderedmap+100000 16_654_154 16_059_713 361_839_904 94_266_714
orderedset+100000 13_241_672 12_849_418 344_331_411 630_893_337
orderedmap+1000000 166_559_245 876_572_213 4_224_907_483 942_591_360
orderedset+1000000 132_428_580 803_455_118 4_021_604_846 7_455_960_290

Set API

size intersect union diff equals isSubset
trieset+100 100 352_496 411_306 350_935 201_896 201_456
orderedset+100 100 146_271 157_602 215_970 28_117 27_726
trieset+1000 1000 731_650 1_079_906 912_629 2_589_090 4_023_673
orderedset+1000 1000 162_435 194_297 286_805 242_329 241_938
trieset+10000 10000 3_986_854 21_412_306 5_984_106 46_174_710 31_885_381
orderedset+10000 10000 177_128 231_169 345_628 2_383_587 2_383_591
trieset+100000 100000 178_863_894 209_889_623 199_028_396 521_399_350 521_399_346
orderedset+100000 100000 190_775 267_107 402_221 91_300_689 91_300_734
trieset+1000000 1000000 1_782_977_198 2_092_850_787 1_984_818_266 5_813_335_155 5_813_335_151
orderedset+1000000 1000000 205_029 304_995 464_999 912_901_936 912_901_899

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.

1 participant