Implement simple benchmarks for instantiation.

This adds benchmarks around module instantiation using criterion.

Both the default (i.e. on-demand) and pooling allocators are tested
sequentially and in parallel using a thread pool.

Instantiation is tested with an empty module, a module with a single page
linear memory, a larger linear memory with a data initializer, and a "hello
world" Rust WASI program.
This commit is contained in:
Peter Huene
2021-05-11 01:00:34 -07:00
parent fa1faf5d22
commit 1b8efa7bbd
10 changed files with 197 additions and 5 deletions

View File

@@ -35,7 +35,7 @@ pub enum SetupError {
#[error("Validation error: {0}")]
Validate(String),
/// A wasm translation error occured.
/// A wasm translation error occurred.
#[error("WebAssembly failed to compile")]
Compile(#[from] CompileError),
@@ -44,7 +44,7 @@ pub enum SetupError {
#[error("Instantiation failed during setup")]
Instantiate(#[from] InstantiationError),
/// Debug information generation error occured.
/// Debug information generation error occurred.
#[error("Debug information error")]
DebugInfo(#[from] anyhow::Error),
}