* Wasmtime: Add `Config::disable_cache` * bench-api: Always disable the cache * bench-api: Always get a `Config` from CLI flags This commit fixes an issue that I ran into just now where benchmarking one `*.so` with `--engine-flags` was giving wildly unexpected results comparing to something without `--engine-flags`. The root cause here appears to that when specifying `--engine-flags` the CLI parsing code is used to create a `Config` and when omitted a `Config::new` instance is created. The main difference between these is that for the CLI caching is enabled by default and for `Config::new` it is not. Coupled with the fact that caching doesn't really work for the `main` branch this ended up giving wild results. The fix here is to first always use the CLI parsing code to create a `Config` to ensure that a config is consistently created. Next the `--disable-cache` flag is unconditionally passed to the CLI parsing to ensure that compilation actually happens. Once applied this enables comparing an engine without flags and an engine with flags which provides consistent results. * Fix compile error Co-authored-by: Alex Crichton <alex@alexcrichton.com>
38 lines
1.1 KiB
TOML
38 lines
1.1 KiB
TOML
[package]
|
|
name = "wasmtime-bench-api"
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
description = "Exposes a benchmarking API for the Wasmtime runtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
readme = "README.md"
|
|
edition.workspace = true
|
|
publish = false
|
|
|
|
[lib]
|
|
name = "wasmtime_bench_api"
|
|
crate-type = ["cdylib"]
|
|
test = false
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
shuffling-allocator = { version = "1.1.1", optional = true }
|
|
target-lexicon = { workspace = true }
|
|
wasmtime = { workspace = true }
|
|
wasmtime-cli-flags = { workspace = true, default-features = true }
|
|
wasmtime-wasi = { workspace = true }
|
|
wasmtime-wasi-crypto = { workspace = true, optional = true }
|
|
wasmtime-wasi-nn = { workspace = true, optional = true }
|
|
wasi-cap-std-sync = { workspace = true }
|
|
cap-std = { workspace = true }
|
|
clap = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
wat = { workspace = true }
|
|
|
|
[features]
|
|
default = ["shuffling-allocator", "wasi-nn"]
|
|
wasi-crypto = ["wasmtime-wasi-crypto"]
|
|
wasi-nn = ["wasmtime-wasi-nn"]
|