Measure various features only available in Motoko.
Garbage Collection. Measure Motoko garbage collection cost using the Triemap benchmark. The max mem column reports rts_max_heap_size
after generate
call. The cycle cost numbers reported here are garbage collection cost only. Some flamegraphs are truncated due to the 2M log size limit. The dfx
/ic-wasm
optimizer is disabled for the garbage collection test cases due to how the optimizer affects function names, making profiling trickier.
generate
will trigger the copying GC. The rest of the methods will not trigger GC.--force-gc --copying-gc
.--force-gc --compacting-gc
.--force-gc --generational-gc
.--force-gc --incremental-gc
.Actor class. Measure the cost of spawning actor class, using the Actor classes example.
generate 700k | max mem | batch_get 50 | batch_put 50 | batch_remove 50 | |
---|---|---|---|---|---|
default | 1_074_136_336 | 47_793_792 | 119 | 119 | 119 |
copying | 1_074_136_218 | 47_793_792 | 1_073_873_789 | 1_073_954_095 | 1_073_875_311 |
compacting | 1_554_238_605 | 47_793_792 | 1_200_791_965 | 1_424_078_246 | 1_447_969_756 |
generational | 2_326_734_591 | 47_802_256 | 899_105_682 | 1_214_812 | 1_107_099 |
incremental | 29_505_471 | 976_097_724 | 469_026_873 | 496_491_319 | 1_282_778_770 |
binary size | put new bucket | put existing bucket | get | |
---|---|---|---|---|
Map | 421_426 | 758_787 | 16_349 | 16_917 |
Environment
- dfx 0.24.0
- Motoko compiler 0.13.3 (source ff4il9yc-sfakbpl1-8z4dm2d6-ybdjncj7)
- rustc 1.81.0 (eeb90cda1 2024-09-04)
- ic-repl 0.7.6
- ic-wasm 0.9.0