Introducing "canbench": a benchmarking framework for canisters

Hey everyone!

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):

Performance changes are detected:

No performance changes are detected:

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 :weight_lifting_man:


Hey @ielashi,

this is awesome, and as such, should be added to GitHub - dfinity/awesome-internet-computer: A curated list of awesome projects and resources relating to the Internet Computer Protocol :wink:

Would you mind doing a PR?

1 Like

Anyone got any ideas of what might be causing this error?

“error parsing result of benchmark test. Result: module”

Sure, will do :slight_smile:

It looks like there’s an error when executing the benchmark. Can you share the benchmark code and/or wasm module that’s causing this error?