dfinity / canister-profiling

Collection of canister performance benchmarks
Apache License 2.0
21 stars 8 forks source link

heartbeat #20

Closed chenyan-dfinity closed 1 year ago

github-actions[bot] commented 1 year ago

Warning The flamegraph link only works after you merge.

Basic DAO

init transfer_token submit_proposal vote_proposal
Motoko 46_180 21_426 15_157 18_010
Rust 1_079_236 181_361 176_836 239_535

Heartbeat

heartbeat
Motoko flamegraph
Rust flamegraph

Publisher & Subscriber

subscribe publish
Motoko caller (20_010) / callee caller (15_974) / callee
Rust caller (72_326) / callee caller (120_520) / callee

Collection libraries

generate 50k max mem batch_get 50 batch_put 50 batch_remove 50
hashmap 2_453_502_001 9_102_036 1_319_482 706_981_930 1_249_393
triemap 2_431_231_903 9_652_596 921_123 2_263_767 1_285_311
rbtree 2_322_927_592 10_102_164 844_569 2_124_148 1_001_826
splay 2_526_164_822 9_302_108 1_450_631 2_399_008 1_449_935
btreemap_rs 117_588_601 3_489_187 59_327 140_563 61_954
hashmap_rs 53_134_679 3_877_924 21_197 63_621 22_614

Priority queue

heapify 50k mem pop_min put
heap 813_936_749 1_400_024 483_010 862_326 485_101
heap_rs 5_042_835 1_832_401 54_006 23_014 54_273

MoVM

generate 10k max mem batch_get 50 batch_put 50 batch_remove 50
hashmap 490_771_356 1_820_828 1_317_551 142_483_911 1_245_737
hashmap_rs 10_944_967 2_108_452 20_512 62_927 21_504
imrc_hashmap_rs 19_673_336 3_356_773 29_942 119_601 36_709
movm_rs 928_887_903 5_903_770 2_440_584 5_821_498 4_799_196
movm_dynamic_rs 485_461_161 4_884_743 1_871_619 2_654_140 1_831_245