Skip to content

Latest commit

 

History

History

Benchmarks

Requires benchify installed, which can be installed using

cargo install --git https://github.com/jaybosamiya/benchify --tag v0.4.3

Run benchify to run all the different tools and tests defined in ./benchify.toml.

If you do not have any of Wasm interpreters/compilers being benchmarked against, benchify will complain, along with installation instructions. You can choose to either follow along those install instructions, or comment out the relevant lines in ./benchify.toml (comment out all lines from the relevant [[tools]] line to the next [[tools]] line) to prevent that tool from being compared, if you want to save time and ignore comparing against a particular tool.

Once benchify confirms that all tools exist, it will start the compilation/preparation phase. This can take anywhere between a few minutes to an hour or two depending on your machine.

After the preparation phase is complete, benchify will begin benchmarking. This will take many hours to complete. Once it finishes, it will produce a new directory benchify-results containing the raw results, as well as summaries.

To plot the results, see the README.md file in ../figures/.


Note: when you run benchify, if you get errors in the preparation stage that look similar to error: symbol 'MEMORY' undefined, this is possible due to bad file-system interaction between compilation instances due to parallelism during compilation. To fix this, run rm -rf .generated && git checkout -- .generated to clear out the .generated directory where builds are cached, and then execute benchify -m 1 to force the benchmarking script to ignore parallelism, and instead compile everything sequentially.