Real-world programs
blake-asAssemblyScript blake-as: BLAKE3 hash (SWAR) of a 4 KiB buffer
2.9× faster
json-asAssemblyScript json-as (SWAR): serialize/deserialize a struct
wago
1.38ms
wazero
8.27ms
6× faster
utf-asAssemblyScript utf-as: UTF-8 -> UTF-16 transcode (SWAR) of a 4 KiB buffer
4× faster
Real-world SIMD
blake-as-simdAssemblyScript blake-as SIMD: BLAKE3 hash of a 4 KiB buffer
wago
1.28ms
wazero
3.65ms
2.8× faster
json-as-simdAssemblyScript json-as SIMD: serialize/deserialize canonical payload
wago
1.53ms
wazero
9.28ms
6.1× faster
utf-as-simdAssemblyScript utf-as SIMD: UTF-8 length and validation of mixed text
4.5× faster
Semantic corpus
blake3BLAKE3 reference implementation with published hash, keyed-hash, and key-derivation vectors
wago
1.08ms
wazero
3.18ms
2.9× faster
coremarkCoreMark 1.0 integer, list, matrix, and state-machine workload
6× faster
lz4LZ4 compression/decompression with exact size and byte oracles
7.9× faster
qoiQOI image encode/decode with exact byte and pixel oracles
5.9× faster
zlibzlib inflate workload with an exact output oracle
wago
1.09ms
wazero
9.33ms
8.5× faster
zstdZstandard decompression workload with an exact output oracle
wago
3.97ms
wazero
34.7ms
8.7× faster
Calls
dispatchcall_indirect through a function table
2.6× faster
fib_recrecursion; call/return heavy
3.1× faster
Application corpora
Embench · crc32CRC-32
4.1× faster
Embench · huffbenchHuffman compression
7× faster
Embench · matmult-intinteger matrix multiplication
5.5× faster
Embench · nettle-aesAES encryption
5.8× faster
Embench · nettle-sha256SHA-256
3.6× faster
Embench · qrduinoQR encoder
wago
1.34ms
wazero
8.28ms
6.2× faster
Sightglass · libsodium-hashlibsodium hash test
wago
3.55ms
wazero
19.9ms
5.6× faster
Sightglass · shootout-base64base64 shootout kernel
wago
2.30ms
wazero
16.7ms
7.3× faster
TACLeBench · bsortself-checking bubble sort
5.9× faster
Compute kernels
fannkuchBenchmarks-Game fannkuch-redux: permute + pancake-flip (branch/array churn, no f64)
7× faster
linked_listsingly-linked list build + dependent-load pointer chase
3.9× faster
matmuldense n x n f64 matrix multiply (fp multiply-add + strided memory)
5.6× faster
nbodyBenchmarks-Game N-body: leapfrog solar-system integration (f64 mul/add/div/sqrt)
4.9× faster
raytracerecursive Whitted ray tracer: n x n frame, 4 spheres + checker plane, depth-4 mirrors (heavy f64 vector math)
5.8× faster
sha256standards-correct SHA-256 of an n-KiB buffer (i32 rotate/shift/xor/add, 64-round)
5.4× faster
Scale
many_funcs300 small functions; per-function compile cost
3.2× faster
Memory
memorylinear-memory load/store loop
3.6× faster
Calls and memory
memory_treerecursive call tree with load/store churn at every node
3.3× faster
Linear algebra
PolyBench/C · 2mmPolyBench/C 2mm (small dataset)
7× faster
PolyBench/C · 3mmPolyBench/C 3mm (small dataset)
6.7× faster
PolyBench/C · ataxPolyBench/C atax (small dataset)
6.9× faster
PolyBench/C · bicgPolyBench/C bicg (small dataset)
6.6× faster
PolyBench/C · doitgenPolyBench/C doitgen (small dataset)
6.5× faster
PolyBench/C · mvtPolyBench/C mvt (small dataset)
6.6× faster
Stencils
PolyBench/C · adiPolyBench/C adi (small dataset)
6.7× faster
PolyBench/C · fdtd-2dPolyBench/C fdtd-2d (small dataset)
5.6× faster
PolyBench/C · heat-3dPolyBench/C heat-3d (small dataset)
7× faster
PolyBench/C · jacobi-1dPolyBench/C jacobi-1d (small dataset)
6.4× faster
PolyBench/C · jacobi-2dPolyBench/C jacobi-2d (small dataset)
6.9× faster
PolyBench/C · seidel-2dPolyBench/C seidel-2d (small dataset)
6.1× faster
Solvers
PolyBench/C · choleskyPolyBench/C cholesky (small dataset)
7.3× faster
PolyBench/C · durbinPolyBench/C durbin (small dataset)
6.5× faster
PolyBench/C · gramschmidtPolyBench/C gramschmidt (small dataset)
6.8× faster
PolyBench/C · luPolyBench/C lu (small dataset)
7.2× faster
PolyBench/C · ludcmpPolyBench/C ludcmp (small dataset)
7.3× faster
PolyBench/C · trisolvPolyBench/C trisolv (small dataset)
6.4× faster
Statistics
PolyBench/C · correlationPolyBench/C correlation (small dataset)
6.8× faster
PolyBench/C · covariancePolyBench/C covariance (small dataset)
6.9× faster
Image processing
PolyBench/C · derichePolyBench/C deriche (small dataset)
6.8× faster
Graph algorithms
PolyBench/C · floyd-warshallPolyBench/C floyd-warshall (small dataset)
6.3× faster
BLAS
PolyBench/C · gemmPolyBench/C gemm (small dataset)
6.9× faster
PolyBench/C · gemverPolyBench/C gemver (small dataset)
6.6× faster
PolyBench/C · gesummvPolyBench/C gesummv (small dataset)
6.8× faster
PolyBench/C · symmPolyBench/C symm (small dataset)
6.8× faster
PolyBench/C · syr2kPolyBench/C syr2k (small dataset)
6.8× faster
PolyBench/C · syrkPolyBench/C syrk (small dataset)
6.8× faster
PolyBench/C · trmmPolyBench/C trmm (small dataset)
6.5× faster
Dynamic programming
PolyBench/C · nussinovPolyBench/C nussinov (small dataset)
6.6× faster
Micro modules
tinyminimal module; fixed pipeline overhead
wago
23.6µs
wazero
73.7µs
3.1× faster
Real-world programs
blake-asAssemblyScript blake-as: BLAKE3 hash (SWAR) of a 4 KiB buffer
wago
148 KB
wazero
1.1 MB
7.6× less
json-asAssemblyScript json-as (SWAR): serialize/deserialize a struct
wago
211 KB
wazero
2.4 MB
11.8× less
utf-asAssemblyScript utf-as: UTF-8 -> UTF-16 transcode (SWAR) of a 4 KiB buffer
wago
209 KB
wazero
1.2 MB
5.7× less
Real-world SIMD
blake-as-simdAssemblyScript blake-as SIMD: BLAKE3 hash of a 4 KiB buffer
wago
291 KB
wazero
1.9 MB
6.8× less
json-as-simdAssemblyScript json-as SIMD: serialize/deserialize canonical payload
wago
224 KB
wazero
2.2 MB
10.1× less
utf-as-simdAssemblyScript utf-as SIMD: UTF-8 length and validation of mixed text
wago
228 KB
wazero
1.3 MB
5.8× less
Semantic corpus
blake3BLAKE3 reference implementation with published hash, keyed-hash, and key-derivation vectors
wago
157 KB
wazero
1.5 MB
10.1× less
coremarkCoreMark 1.0 integer, list, matrix, and state-machine workload
8.3× less
lz4LZ4 compression/decompression with exact size and byte oracles
wago
72.7 KB
wazero
947 KB
13× less
qoiQOI image encode/decode with exact byte and pixel oracles
10.3× less
zlibzlib inflate workload with an exact output oracle
wago
312 KB
wazero
7.3 MB
24× less
zstdZstandard decompression workload with an exact output oracle
wago
995 KB
wazero
23.5 MB
24.2× less
Calls
dispatchcall_indirect through a function table
wago
35.3 KB
wazero
274 KB
7.8× less
fib_recrecursion; call/return heavy
wago
17.3 KB
wazero
273 KB
15.7× less
Application corpora
Embench · crc32CRC-32
wago
47.4 KB
wazero
371 KB
7.8× less
Embench · huffbenchHuffman compression
wago
154 KB
wazero
1.9 MB
12.4× less
Embench · matmult-intinteger matrix multiplication
wago
96.1 KB
wazero
1.1 MB
12.2× less
Embench · nettle-aesAES encryption
wago
164 KB
wazero
1.7 MB
10.4× less
Embench · nettle-sha256SHA-256
wago
265 KB
wazero
1.5 MB
5.9× less
Embench · qrduinoQR encoder
wago
529 KB
wazero
7.8 MB
15.1× less
Sightglass · libsodium-hashlibsodium hash test
wago
400 KB
wazero
9.1 MB
23.3× less
Sightglass · shootout-base64base64 shootout kernel
wago
549 KB
wazero
8.5 MB
15.8× less
TACLeBench · bsortself-checking bubble sort
wago
36.4 KB
wazero
471 KB
12.9× less
Compute kernels
fannkuchBenchmarks-Game fannkuch-redux: permute + pancake-flip (branch/array churn, no f64)
wago
77 KB
wazero
1018 KB
13.2× less
linked_listsingly-linked list build + dependent-load pointer chase
15.5× less
matmuldense n x n f64 matrix multiply (fp multiply-add + strided memory)
wago
71.6 KB
wazero
620 KB
8.7× less
nbodyBenchmarks-Game N-body: leapfrog solar-system integration (f64 mul/add/div/sqrt)
wago
75.2 KB
wazero
726 KB
9.7× less
raytracerecursive Whitted ray tracer: n x n frame, 4 spheres + checker plane, depth-4 mirrors (heavy f64 vector math)
wago
140 KB
wazero
1.5 MB
11.3× less
sha256standards-correct SHA-256 of an n-KiB buffer (i32 rotate/shift/xor/add, 64-round)
wago
74.9 KB
wazero
806 KB
10.8× less
Scale
many_funcs300 small functions; per-function compile cost
wago
169 KB
wazero
346 KB
2.1× less
Memory
memorylinear-memory load/store loop
15.6× less
Calls and memory
memory_treerecursive call tree with load/store churn at every node
wago
23.7 KB
wazero
310 KB
13.1× less
Linear algebra
PolyBench/C · 2mmPolyBench/C 2mm (small dataset)
13.5× less
PolyBench/C · 3mmPolyBench/C 3mm (small dataset)
wago
135 KB
wazero
1.4 MB
10.3× less
PolyBench/C · ataxPolyBench/C atax (small dataset)
wago
73.2 KB
wazero
803 KB
11× less
PolyBench/C · bicgPolyBench/C bicg (small dataset)
wago
76.2 KB
wazero
852 KB
11.2× less
PolyBench/C · doitgenPolyBench/C doitgen (small dataset)
wago
135 KB
wazero
1.2 MB
9.5× less
PolyBench/C · mvtPolyBench/C mvt (small dataset)
wago
76.6 KB
wazero
932 KB
12.2× less
Stencils
PolyBench/C · adiPolyBench/C adi (small dataset)
wago
135 KB
wazero
1.3 MB
9.7× less
PolyBench/C · fdtd-2dPolyBench/C fdtd-2d (small dataset)
wago
135 KB
wazero
1.1 MB
8.1× less
PolyBench/C · heat-3dPolyBench/C heat-3d (small dataset)
wago
79.3 KB
wazero
1.2 MB
15.1× less
PolyBench/C · jacobi-1dPolyBench/C jacobi-1d (small dataset)
wago
73.1 KB
wazero
663 KB
9.1× less
PolyBench/C · jacobi-2dPolyBench/C jacobi-2d (small dataset)
wago
73.3 KB
wazero
745 KB
10.2× less
PolyBench/C · seidel-2dPolyBench/C seidel-2d (small dataset)
wago
75.4 KB
wazero
649 KB
8.6× less
Solvers
PolyBench/C · choleskyPolyBench/C cholesky (small dataset)
wago
77.1 KB
wazero
1.1 MB
14.2× less
PolyBench/C · durbinPolyBench/C durbin (small dataset)
wago
75.4 KB
wazero
816 KB
10.8× less
PolyBench/C · gramschmidtPolyBench/C gramschmidt (small dataset)
wago
76.7 KB
wazero
952 KB
12.4× less
PolyBench/C · luPolyBench/C lu (small dataset)
wago
77.1 KB
wazero
1.1 MB
14.1× less
PolyBench/C · ludcmpPolyBench/C ludcmp (small dataset)
wago
135 KB
wazero
1.7 MB
12.5× less
PolyBench/C · trisolvPolyBench/C trisolv (small dataset)
wago
75.3 KB
wazero
738 KB
9.8× less
Statistics
PolyBench/C · correlationPolyBench/C correlation (small dataset)
wago
76.9 KB
wazero
964 KB
12.5× less
PolyBench/C · covariancePolyBench/C covariance (small dataset)
wago
73.5 KB
wazero
875 KB
11.9× less
Image processing
PolyBench/C · derichePolyBench/C deriche (small dataset)
13.7× less
Graph algorithms
PolyBench/C · floyd-warshallPolyBench/C floyd-warshall (small dataset)
wago
73.6 KB
wazero
645 KB
8.8× less
BLAS
PolyBench/C · gemmPolyBench/C gemm (small dataset)
wago
73.6 KB
wazero
868 KB
11.8× less
PolyBench/C · gemverPolyBench/C gemver (small dataset)
wago
135 KB
wazero
1.3 MB
9.7× less
PolyBench/C · gesummvPolyBench/C gesummv (small dataset)
wago
73.2 KB
wazero
790 KB
10.8× less
PolyBench/C · symmPolyBench/C symm (small dataset)
wago
77.2 KB
wazero
964 KB
12.5× less
PolyBench/C · syr2kPolyBench/C syr2k (small dataset)
wago
76.5 KB
wazero
849 KB
11.1× less
PolyBench/C · syrkPolyBench/C syrk (small dataset)
wago
76.4 KB
wazero
845 KB
11.1× less
PolyBench/C · trmmPolyBench/C trmm (small dataset)
wago
76.7 KB
wazero
859 KB
11.2× less
Dynamic programming
PolyBench/C · nussinovPolyBench/C nussinov (small dataset)
wago
75.8 KB
wazero
816 KB
10.8× less
Micro modules
tinyminimal module; fixed pipeline overhead
wago
16.3 KB
wazero
268 KB
16.4× less
Real-world programs
blake-asAssemblyScript blake-as: BLAKE3 hash (SWAR) of a 4 KiB buffer
2× faster
json-asAssemblyScript json-as (SWAR): serialize/deserialize a struct
wago
21.8µs
wazero
17.6µs
1.2× slower
utf-asAssemblyScript utf-as: UTF-8 -> UTF-16 transcode (SWAR) of a 4 KiB buffer
wago
17.6µs
wazero
19.4µs
1.1× faster
Real-world SIMD
blake-as-simdAssemblyScript blake-as SIMD: BLAKE3 hash of a 4 KiB buffer
2× faster
json-as-simdAssemblyScript json-as SIMD: serialize/deserialize canonical payload
wago
21.3µs
wazero
17.6µs
1.2× slower
utf-as-simdAssemblyScript utf-as SIMD: UTF-8 length and validation of mixed text
wago
27.2µs
wazero
19.9µs
1.4× slower
Semantic corpus
blake3BLAKE3 reference implementation with published hash, keyed-hash, and key-derivation vectors
9.4× faster
coremarkCoreMark 1.0 integer, list, matrix, and state-machine workload
2.8× faster
lz4LZ4 compression/decompression with exact size and byte oracles
13.8× faster
qoiQOI image encode/decode with exact byte and pixel oracles
16.9× faster
zlibzlib inflate workload with an exact output oracle
13.3× faster
zstdZstandard decompression workload with an exact output oracle
12.9× faster
Calls
dispatchcall_indirect through a function table
1.7× faster
fib_recrecursion; call/return heavy
1.7× faster
Compute kernels
fannkuchBenchmarks-Game fannkuch-redux: permute + pancake-flip (branch/array churn, no f64)
18.1× faster
linked_listsingly-linked list build + dependent-load pointer chase
5.8× faster
matmuldense n x n f64 matrix multiply (fp multiply-add + strided memory)
19.3× faster
nbodyBenchmarks-Game N-body: leapfrog solar-system integration (f64 mul/add/div/sqrt)
17.5× faster
raytracerecursive Whitted ray tracer: n x n frame, 4 spheres + checker plane, depth-4 mirrors (heavy f64 vector math)
18.6× faster
sha256standards-correct SHA-256 of an n-KiB buffer (i32 rotate/shift/xor/add, 64-round)
13.8× faster
Scale
many_funcs300 small functions; per-function compile cost
1.8× faster
Memory
memorylinear-memory load/store loop
3.1× faster
Calls and memory
memory_treerecursive call tree with load/store churn at every node
3.1× faster
Linear algebra
PolyBench/C · 2mmPolyBench/C 2mm (small dataset)
2.5× faster
PolyBench/C · 3mmPolyBench/C 3mm (small dataset)
2.8× faster
PolyBench/C · ataxPolyBench/C atax (small dataset)
2.8× faster
PolyBench/C · bicgPolyBench/C bicg (small dataset)
2.8× faster
PolyBench/C · doitgenPolyBench/C doitgen (small dataset)
2.8× faster
PolyBench/C · mvtPolyBench/C mvt (small dataset)
2.8× faster
Stencils
PolyBench/C · adiPolyBench/C adi (small dataset)
2.8× faster
PolyBench/C · fdtd-2dPolyBench/C fdtd-2d (small dataset)
2.9× faster
PolyBench/C · heat-3dPolyBench/C heat-3d (small dataset)
2.8× faster
PolyBench/C · jacobi-1dPolyBench/C jacobi-1d (small dataset)
2.8× faster
PolyBench/C · jacobi-2dPolyBench/C jacobi-2d (small dataset)
2.8× faster
PolyBench/C · seidel-2dPolyBench/C seidel-2d (small dataset)
2.8× faster
Solvers
PolyBench/C · choleskyPolyBench/C cholesky (small dataset)
2.8× faster
PolyBench/C · durbinPolyBench/C durbin (small dataset)
2.8× faster
PolyBench/C · gramschmidtPolyBench/C gramschmidt (small dataset)
2.8× faster
PolyBench/C · luPolyBench/C lu (small dataset)
2.8× faster
PolyBench/C · ludcmpPolyBench/C ludcmp (small dataset)
2.8× faster
PolyBench/C · trisolvPolyBench/C trisolv (small dataset)
2.8× faster
Statistics
PolyBench/C · correlationPolyBench/C correlation (small dataset)
2.8× faster
PolyBench/C · covariancePolyBench/C covariance (small dataset)
2.8× faster
Image processing
PolyBench/C · derichePolyBench/C deriche (small dataset)
2.8× faster
Graph algorithms
PolyBench/C · floyd-warshallPolyBench/C floyd-warshall (small dataset)
2.8× faster
BLAS
PolyBench/C · gemmPolyBench/C gemm (small dataset)
2.8× faster
PolyBench/C · gemverPolyBench/C gemver (small dataset)
2.8× faster
PolyBench/C · gesummvPolyBench/C gesummv (small dataset)
2.8× faster
PolyBench/C · symmPolyBench/C symm (small dataset)
2.8× faster
PolyBench/C · syr2kPolyBench/C syr2k (small dataset)
2.8× faster
PolyBench/C · syrkPolyBench/C syrk (small dataset)
2.8× faster
PolyBench/C · trmmPolyBench/C trmm (small dataset)
2.8× faster
Dynamic programming
PolyBench/C · nussinovPolyBench/C nussinov (small dataset)
2.8× faster
Micro modules
tinyminimal module; fixed pipeline overhead
1.8× faster
Real-world programs
blake-asAssemblyScript blake-as: BLAKE3 hash (SWAR) of a 4 KiB buffer
wago
10.2 KB
wazero
11.2 KB
1.1× less
json-asAssemblyScript json-as (SWAR): serialize/deserialize a struct
wago
54.3 KB
wazero
72 KB
1.3× less
utf-asAssemblyScript utf-as: UTF-8 -> UTF-16 transcode (SWAR) of a 4 KiB buffer
wago
3.8 KB
wazero
7.2 KB
1.9× less
Real-world SIMD
blake-as-simdAssemblyScript blake-as SIMD: BLAKE3 hash of a 4 KiB buffer
wago
38.1 KB
wazero
58 KB
1.5× less
json-as-simdAssemblyScript json-as SIMD: serialize/deserialize canonical payload
wago
64.8 KB
wazero
82.6 KB
1.3× less
utf-as-simdAssemblyScript utf-as SIMD: UTF-8 length and validation of mixed text
wago
19.7 KB
wazero
30.3 KB
1.5× less
Semantic corpus
blake3BLAKE3 reference implementation with published hash, keyed-hash, and key-derivation vectors
wago
26.5 KB
wazero
38.1 KB
1.4× less
coremarkCoreMark 1.0 integer, list, matrix, and state-machine workload
wago
19.2 KB
wazero
31.5 KB
1.6× less
lz4LZ4 compression/decompression with exact size and byte oracles
wago
4.6 KB
wazero
10.8 KB
2.4× less
qoiQOI image encode/decode with exact byte and pixel oracles
2.1× less
zlibzlib inflate workload with an exact output oracle
wago
28 KB
wazero
72.4 KB
2.6× less
zstdZstandard decompression workload with an exact output oracle
wago
130 KB
wazero
280 KB
2.2× less
Calls
dispatchcall_indirect through a function table
1.1× less
fib_recrecursion; call/return heavy
1.1× more
Application corpora
Embench · crc32CRC-32
1.2× less
Embench · huffbenchHuffman compression
wago
6.3 KB
wazero
12.7 KB
2× less
Embench · matmult-intinteger matrix multiplication
wago
5.2 KB
wazero
9.7 KB
1.9× less
Embench · nettle-aesAES encryption
wago
5.4 KB
wazero
14.9 KB
2.8× less
Embench · nettle-sha256SHA-256
2× less
Embench · qrduinoQR encoder
wago
35.6 KB
wazero
87.5 KB
2.5× less
Sightglass · libsodium-hashlibsodium hash test
wago
122 KB
wazero
203 KB
1.7× less
Sightglass · shootout-base64base64 shootout kernel
wago
70.9 KB
wazero
132 KB
1.9× less
TACLeBench · bsortself-checking bubble sort
2.4× less
Compute kernels
fannkuchBenchmarks-Game fannkuch-redux: permute + pancake-flip (branch/array churn, no f64)
wago
3.4 KB
wazero
7.1 KB
2.1× less
linked_listsingly-linked list build + dependent-load pointer chase
2.2× less
matmuldense n x n f64 matrix multiply (fp multiply-add + strided memory)
wago
1.7 KB
wazero
3.4 KB
2× less
nbodyBenchmarks-Game N-body: leapfrog solar-system integration (f64 mul/add/div/sqrt)
wago
3.2 KB
wazero
5.6 KB
1.8× less
raytracerecursive Whitted ray tracer: n x n frame, 4 spheres + checker plane, depth-4 mirrors (heavy f64 vector math)
wago
12.4 KB
wazero
14.1 KB
1.1× less
sha256standards-correct SHA-256 of an n-KiB buffer (i32 rotate/shift/xor/add, 64-round)
wago
2.2 KB
wazero
5.5 KB
2.4× less
Scale
many_funcs300 small functions; per-function compile cost
wago
7.6 KB
wazero
18.9 KB
2.5× less
Memory
memorylinear-memory load/store loop
1.6× less
Calls and memory
memory_treerecursive call tree with load/store churn at every node
parity
Linear algebra
PolyBench/C · 2mmPolyBench/C 2mm (small dataset)
1.9× less
PolyBench/C · 3mmPolyBench/C 3mm (small dataset)
2× less
PolyBench/C · ataxPolyBench/C atax (small dataset)
wago
3.9 KB
wazero
7.5 KB
1.9× less
PolyBench/C · bicgPolyBench/C bicg (small dataset)
1.9× less
PolyBench/C · doitgenPolyBench/C doitgen (small dataset)
wago
5.5 KB
wazero
14.1 KB
2.5× less
PolyBench/C · mvtPolyBench/C mvt (small dataset)
wago
4.4 KB
wazero
8.8 KB
2× less
Stencils
PolyBench/C · adiPolyBench/C adi (small dataset)
wago
5.8 KB
wazero
12.3 KB
2.1× less
PolyBench/C · fdtd-2dPolyBench/C fdtd-2d (small dataset)
1.6× less
PolyBench/C · heat-3dPolyBench/C heat-3d (small dataset)
wago
5.1 KB
wazero
11.3 KB
2.2× less
PolyBench/C · jacobi-1dPolyBench/C jacobi-1d (small dataset)
wago
2.8 KB
wazero
5.8 KB
2.1× less
PolyBench/C · jacobi-2dPolyBench/C jacobi-2d (small dataset)
wago
3.2 KB
wazero
6.6 KB
2.1× less
PolyBench/C · seidel-2dPolyBench/C seidel-2d (small dataset)
1.8× less
Solvers
PolyBench/C · choleskyPolyBench/C cholesky (small dataset)
wago
4.9 KB
wazero
10.4 KB
2.1× less
PolyBench/C · durbinPolyBench/C durbin (small dataset)
wago
3.9 KB
wazero
7.4 KB
1.9× less
PolyBench/C · gramschmidtPolyBench/C gramschmidt (small dataset)
wago
4.5 KB
wazero
9.1 KB
2× less
PolyBench/C · luPolyBench/C lu (small dataset)
wago
4.7 KB
wazero
10.4 KB
2.2× less
PolyBench/C · ludcmpPolyBench/C ludcmp (small dataset)
2.1× less
PolyBench/C · trisolvPolyBench/C trisolv (small dataset)
wago
3.4 KB
wazero
6.8 KB
2× less
Statistics
PolyBench/C · correlationPolyBench/C correlation (small dataset)
wago
4.5 KB
wazero
8.9 KB
2× less
PolyBench/C · covariancePolyBench/C covariance (small dataset)
2.1× less
Image processing
PolyBench/C · derichePolyBench/C deriche (small dataset)
wago
5.5 KB
wazero
10.4 KB
1.9× less
Graph algorithms
PolyBench/C · floyd-warshallPolyBench/C floyd-warshall (small dataset)
wago
2.8 KB
wazero
5.7 KB
2× less
BLAS
PolyBench/C · gemmPolyBench/C gemm (small dataset)
wago
4.1 KB
wazero
8.2 KB
2× less
PolyBench/C · gemverPolyBench/C gemver (small dataset)
wago
5.9 KB
wazero
12.3 KB
2.1× less
PolyBench/C · gesummvPolyBench/C gesummv (small dataset)
wago
3.7 KB
wazero
7.1 KB
1.9× less
PolyBench/C · symmPolyBench/C symm (small dataset)
wago
4.6 KB
wazero
9.3 KB
2× less
PolyBench/C · syr2kPolyBench/C syr2k (small dataset)
2× less
PolyBench/C · syrkPolyBench/C syrk (small dataset)
wago
3.8 KB
wazero
7.8 KB
2× less
PolyBench/C · trmmPolyBench/C trmm (small dataset)
wago
4.1 KB
wazero
8.2 KB
2× less
Dynamic programming
PolyBench/C · nussinovPolyBench/C nussinov (small dataset)
wago
3.5 KB
wazero
7.6 KB
2.1× less
Micro modules
tinyminimal module; fixed pipeline overhead
1.3× less
Real-world programs
blake-ashashN · real corpus
1.3× slower
json-asdeserializeN · real corpus
wago
45.1µs
wazero
62.6µs
1.4× faster
json-asserializeN · real corpus
1.4× faster
utf-asconvertN · real corpus
1.4× faster
Real-world SIMD
blake-as-simdhashN · real-simd corpus
1.1× slower
json-as-simddeserializeN · real-simd corpus
wago
75.4µs
wazero
79.1µs
parity
json-as-simdserializeN · real-simd corpus
wago
32.7µs
wazero
39.5µs
1.2× faster
utf-as-simdconvertN · real-simd corpus
wago
53.7µs
wazero
68.3µs
1.3× faster
utf-as-simdvalidateN · real-simd corpus
1.2× faster
Semantic corpus
blake3blake3_derive_key · semantic corpus
parity
blake3blake3_hash · semantic corpus
1.1× slower
blake3blake3_keyed_hash · semantic corpus
1.1× slower
coremarkcoremark_run · semantic corpus
1.5× faster
lz4lz4_compress_run · semantic corpus
wago
34.2µs
wazero
52.7µs
1.5× faster
lz4lz4_decompress_run · semantic corpus
2.5× faster
qoiqoi_decode_run · semantic corpus
2.3× faster
qoiqoi_encode_run · semantic corpus
1.6× faster
zlibzlib_inflate_run · semantic corpus
1.9× faster
zstdzstd_decompress_run · semantic corpus
1.3× faster
Calls
dispatchapply · calls corpus
wago
22.8ns
wazero
32.3ns
1.4× faster
fib_recfib · calls corpus
wago
1.29ms
wazero
2.11ms
1.6× faster
Application corpora
Embench · crc32CRC-32
1.1× faster
Embench · huffbenchHuffman compression
1.6× faster
Embench · matmult-intinteger matrix multiplication
1.4× faster
Embench · nettle-aesAES encryption
1.9× faster
Embench · nettle-sha256SHA-256
1.2× faster
Embench · qrduinoQR encoder
1.8× faster
Sightglass · libsodium-hashlibsodium hash test
3.9× faster
Sightglass · shootout-base64base64 shootout kernel
wago
3.08ms
wazero
3.10ms
parity
TACLeBench · bsortself-checking bubble sort
wago
10.1µs
wazero
27.1µs
2.7× faster
Compute kernels
fannkuchrun · compute corpus
wago
1.03ms
wazero
1.41ms
1.4× faster
linked_listsum · compute corpus
1.2× faster
matmulrun · compute corpus
3.5× faster
nbodystep · compute corpus
1.3× faster
raytracerender · compute corpus
1.1× slower
sha256hashN · compute corpus
wago
37.3µs
wazero
53.1µs
1.4× faster
Scale
many_funcsrun · scale corpus
wago
39.6ns
wazero
29.3ns
1.4× slower
Memory
memorysum · memory corpus
wago
214.6ns
wazero
281.5ns
1.3× faster
Calls and memory
memory_treerun · calls+memory corpus
2.2× faster
Linear algebra
polybench-2mmpolybench_run · linear-algebra corpus
2.1× faster
polybench-3mmpolybench_run · linear-algebra corpus
2× faster
polybench-ataxpolybench_run · linear-algebra corpus
1.6× faster
polybench-bicgpolybench_run · linear-algebra corpus
1.4× faster
polybench-doitgenpolybench_run · linear-algebra corpus
1.9× faster
polybench-mvtpolybench_run · linear-algebra corpus
wago
37.4µs
wazero
83.9µs
2.2× faster
Stencils
polybench-adipolybench_run · stencil corpus
wago
1.87ms
wazero
1.89ms
parity
polybench-fdtd-2dpolybench_run · stencil corpus
2.2× faster
polybench-heat-3dpolybench_run · stencil corpus
2.5× faster
polybench-jacobi-1dpolybench_run · stencil corpus
1.9× faster
polybench-jacobi-2dpolybench_run · stencil corpus
2.8× faster
polybench-seidel-2dpolybench_run · stencil corpus
wago
3.93ms
wazero
3.97ms
parity
Solvers
polybench-choleskypolybench_run · solver corpus
wago
1.40ms
wazero
2.47ms
1.8× faster
polybench-durbinpolybench_run · solver corpus
1.8× faster
polybench-gramschmidtpolybench_run · solver corpus
1.7× faster
polybench-lupolybench_run · solver corpus
wago
1.49ms
wazero
2.95ms
2× faster
polybench-ludcmppolybench_run · solver corpus
wago
1.54ms
wazero
2.77ms
1.8× faster
polybench-trisolvpolybench_run · solver corpus
wago
14.2µs
wazero
31.8µs
2.2× faster
Statistics
polybench-correlationpolybench_run · statistics corpus
1.9× faster
polybench-covariancepolybench_run · statistics corpus
1.8× faster
Image processing
polybench-derichepolybench_run · image-processing corpus
1.4× faster
Graph algorithms
polybench-floyd-warshallpolybench_run · graph corpus
wago
5.09ms
wazero
9.42ms
1.9× faster
BLAS
polybench-gemmpolybench_run · blas corpus
2.5× faster
polybench-gemverpolybench_run · blas corpus
2.2× faster
polybench-gesummvpolybench_run · blas corpus
wago
45.2µs
wazero
78.8µs
1.7× faster
polybench-symmpolybench_run · blas corpus
2.5× faster
polybench-syr2kpolybench_run · blas corpus
2.5× faster
polybench-syrkpolybench_run · blas corpus
2.2× faster
polybench-trmmpolybench_run · blas corpus
1.8× faster
Dynamic programming
polybench-nussinovpolybench_run · dynamic-programming corpus
1.7× faster
Micro modules
tinyadd · micro corpus
wago
21.2ns
wazero
30.1ns
1.4× faster