1
1
# Benchmark results
2
2
3
3
All benchmarks are run on a Ryzen 7 5800X with 32GB of RAM on Linux 6.6.
4
- WebAssembly files are optimized using [ wasm-opt] ( https://github.com/WebAssembly/binaryen ) ,
4
+ WebAssembly files are optimized using [ wasm-opt] ( https://github.com/WebAssembly/binaryen ) (with the ` --O3 ` flag)
5
5
and the benchmark code is available in the ` crates/benchmarks ` folder.
6
6
7
7
These are mainly preliminary benchmarks, and I will be rewriting the benchmarks to be more accurate and to test more features in the future.
@@ -20,7 +20,6 @@ All WebAssembly files are compiled with the following settings:
20
20
21
21
All runtimes are compiled with the following settings:
22
22
23
- - ` unsafe ` features are enabled.
24
23
- ` opt-level ` is set to 3, ` lto ` is set to ` thin ` , ` codegen-units ` is set to 1.
25
24
- No CPU-specific optimizations are used as AVX2 can reduce performance by more than 50% on some CPUs.
26
25
@@ -34,9 +33,9 @@ All runtimes are compiled with the following settings:
34
33
35
34
| Benchmark | Native | TinyWasm | Wasmi | Wasmer (Single Pass) |
36
35
| ------------ | -------- | ---------- | --------- | -------------------- |
37
- | ` fib ` | ` 0ms ` | ` 19.09µs ` | ` 18.53µs ` | ` 48.09µs ` |
38
- | ` fib-rec ` | ` 0.27ms ` | ` 22.22ms ` | ` 4.96ms ` | ` 0.47ms ` |
39
- | ` argon2id ` | ` 0.53ms ` | ` 86.42ms ` | ` 46.36ms ` | ` 4.82ms ` |
36
+ | ` fib ` | ` 0ms ` | ` 18.70µs ` | ` 18.53µs ` | ` 48.09µs ` |
37
+ | ` fib-rec ` | ` 0.27ms ` | ` 16.02ms ` | ` 4.96ms ` | ` 0.47ms ` |
38
+ | ` argon2id ` | ` 0.53ms ` | ` 80.54ms ` | ` 46.36ms ` | ` 4.82ms ` |
40
39
| ` selfhosted ` | ` 0.05ms ` | ` 7.26ms ` | ` 6.51ms ` | ` 446.48ms ` |
41
40
42
41
### Fib
0 commit comments