I wanted to share with you a little tool that we’ve been working on and just open-sourced. It’s called canbench and it’s a benchmarking framework for canisters.
canbench is a tool that we built organically when we were trying to understand the performance of canisters and libraries that we were building. Once setup, it allows you to effortlessly monitor performance regressions as well as analyze the performance of your code.
Here is an example of what the canbench CI integration looks like (screenshots below):
Currently canbench only supports Rust canisters, but support for other languages can easily be introduced. Let us know if this is something you’d like to see. Happy benching
Apologies for the slow response here. Is there code you can point me to to triage the problem? My github username is “ielashi” in case you’d like to share access to your code.
@zohaib29 Is your canister taking in init args? canbench doesn’t currently support deploying a wasm that has init args. If yes, can you try removing them and see if that fixes the issue?
We should be able to add support for specifying the init args in canbench.yml - it’s not that much work.
Update: The newest version of canbench (version 0.1.4) now supports canisters with init args. See here for the documentation. Big thanks to @frederikrothenberger for adding this feature!