x64: enable VTune support by default (#3821)
* x64: enable VTune support by default After significant work in the `ittapi-rs` crate, this dependency should build without issue on Wasmtime's supported operating systems: Windows, Linux, and macOS. The difference in the release binary is <20KB, so this change makes `vtune` a default build feature. This change upgrades `ittapi-rs` to v0.2.0 and updates the documentation. * review: add configuration for defaults in more places * review: remove OS conditional compilation, add architecture * review: do not default vtune feature in wasmtime-jit
This commit is contained in:
@@ -30,13 +30,10 @@ For more information on VTune and the analysis tools it provides see its
|
||||
|
||||
### Turn on VTune support
|
||||
|
||||
For JIT profiling with VTune, first build with the `vtune` feature enabled:
|
||||
|
||||
```sh
|
||||
$ cargo build --features=vtune
|
||||
```
|
||||
|
||||
Then, enable runtime support based on how you use Wasmtime:
|
||||
For JIT profiling with VTune, Wasmtime currently builds with the `vtune` feature
|
||||
enabled by default. This ensures the compiled binary understands how to inform
|
||||
the `ittapi` library of JIT events. But it must still be enabled at
|
||||
runtime--enable runtime support based on how you use Wasmtime:
|
||||
|
||||
* **Rust API** - call the [`Config::profiler`] method with
|
||||
`ProfilingStrategy::VTune` to enable profiling of your wasm modules.
|
||||
@@ -62,7 +59,7 @@ future.
|
||||
With VTune [properly installed][download], if you are using the CLI execute:
|
||||
|
||||
```sh
|
||||
$ cargo build --features=vtune
|
||||
$ cargo build
|
||||
$ vtune -run-pass-thru=--no-altstack -collect hotspots target/debug/wasmtime --vtune foo.wasm
|
||||
```
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
# Profiling WebAssembly
|
||||
|
||||
One of WebAssembly's major goals is to be quite close to native code in terms of
|
||||
performance, so typically when executing wasm you'll be quite interested in how
|
||||
well your wasm module is performing! From time to time you might want to dive a
|
||||
bit deeper into the performance of your wasm, and this is where profiling comes
|
||||
performance, so typically when executing Wasm you'll be quite interested in how
|
||||
well your Wasm module is performing! From time to time you might want to dive a
|
||||
bit deeper into the performance of your Wasm, and this is where profiling comes
|
||||
into the picture.
|
||||
|
||||
Profiling support in Wasmtime is still under development, but if you're using either [perf](./examples-profiling-perf.md) or [Vtune](./examples-profiling-vtune.md) the examples in these sections are targeted at helping you get some information about the performance of your wasm modules.
|
||||
Profiling support in Wasmtime is still under development, but if you're using
|
||||
either [perf](./examples-profiling-perf.md) or
|
||||
[VTune](./examples-profiling-vtune.md) the examples in these sections are
|
||||
targeted at helping you get some information about the performance of your Wasm
|
||||
modules.
|
||||
|
||||
Reference in New Issue
Block a user