Skip to content

Commit

Permalink
Merge pull request #617 from demergent-labs/583_final_benchmarking
Browse files Browse the repository at this point in the history
583 final benchmarking
  • Loading branch information
lastmjs authored Aug 6, 2022
2 parents 982ae69 + ca6b847 commit 3e81d6b
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2438,6 +2438,34 @@ The following is a comparison of all of the major features of the [Rust CDK](htt

### Benchmarks

#### TLDR

Last major update to this benchmarking information: August 2022

Here's a quick rough estimate summary of the benchmarks:

- Average/Median Azle Wasm instructions per function call: 121_919_698 / 2_387_322
- Average/Median Motoko Wasm instructions per function call: 272_877 / 5_169
- Average/Median Rust Wasm instructions per function call: 26_378_678 / 44_074

- Average/Median Azle/Motoko Wasm instructions difference: 1_273x / 396x
- Average/Median Azle/Rust Wasm instructions difference: 204x / 51x
- Average/Median Motoko/Rust Wasm instructions difference: -22x / -8x

- Average/Median Azle/Motoko USD cost estimate difference using average Wasm instructions: 5x / 3x
- Maximum Azle/Motoko USD cost estimate difference using average Wasm instructions: 13x

- Average/Median Azle/Rust USD cost estimate difference using average Wasm instructions: 2x / 2x
- Maximum Azle/Rust USD cost estimate difference using average Wasm instructions: 4x

- Average/Median Azle/Motoko USD cost difference using median Wasm instructions: 1x / 1x
- Maximum Azle/Motoko USD cost difference using median Wasm instructions: 1x

- Average/Median Azle/Rust USD cost difference using median Wasm instructions: 1x / 1x
- Maximum Azle/Rust USD cost difference using median Wasm instructions: 1x

#### Introduction to the Benchmarks

Azle's automated benchmarking framework is currently based on the `ic0.performance_counter` [System API](https://internetcomputer.org/docs/current/references/ic-interface-spec/#system-api-imports). `ic0.performance_counter` seems to have a number of limitations. The following may not be measured accurately:

- Candid serialization/deserialization of function parameters and return types
Expand Down

0 comments on commit 3e81d6b

Please sign in to comment.