Skip to content

Commit 8ec798b

Browse files
committed
Upgrade zwasm dependency to v0.3.0
- build.zig.zon: zwasm v0.2.0 -> v0.3.0 (100% spec, fuzz tested) - README: update zwasm benchmark stats (13/21 beat wasmtime, 50x smaller) - bench/README.md: update zwasm version reference - bench/history.yaml: record zwasm v0.3.0 verification benchmarks
1 parent ca6d85f commit 8ec798b

4 files changed

Lines changed: 31 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Call WebAssembly modules directly from Clojure:
180180
> **Performance note**: The Wasm runtime ([zwasm](https://github.com/clojurewasm/zwasm))
181181
> uses Register IR with ARM64/x86_64 JIT. Full Wasm 3.0 support (all 9 proposals
182182
> including GC, function references, SIMD, exception handling).
183-
> zwasm wins 10/21 benchmarks vs wasmtime, with ~5x smaller binary.
183+
> zwasm wins 13/21 benchmarks vs wasmtime, with ~50x smaller binary.
184184
185185
### Server & Networking
186186

bench/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ Full Wasm 3.0 support (all 9 proposals including GC) in 1.1 MB.
243243

244244
## Latest Wasm Runtime Results (2026-02-14)
245245

246-
CW's built-in Wasm runtime (zwasm v0.2.0, Register IR + ARM64/x86_64 JIT)
246+
CW's built-in Wasm runtime (zwasm v0.3.0, Register IR + ARM64/x86_64 JIT)
247247
vs 4 other Wasm runtimes. Apple M4 Pro, 48GB RAM.
248248
21 benchmarks (WAT 5, TinyGo 11, Shootout 5), hyperfine 3 runs + 1 warmup.
249249

bench/history.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -931,3 +931,30 @@ entries:
931931
string_ops: {time_ms: 25, mem_mb: 21.3}
932932
multimethod_dispatch: {time_ms: 6, mem_mb: 11.6}
933933
real_workload: {time_ms: 10, mem_mb: 18.6}
934+
- id: "zwasm-v0.3.0"
935+
date: "2026-02-16"
936+
reason: "zwasm v0.3.0 verification"
937+
commit: "ca6d85f"
938+
build: ReleaseSafe
939+
backend: vm
940+
results:
941+
fib_recursive: {time_ms: 17, mem_mb: 11.9}
942+
fib_loop: {time_ms: 3, mem_mb: 12.0}
943+
tak: {time_ms: 9, mem_mb: 11.9}
944+
arith_loop: {time_ms: 5, mem_mb: 11.9}
945+
map_filter_reduce: {time_ms: 6, mem_mb: 13.0}
946+
vector_ops: {time_ms: 7, mem_mb: 17.3}
947+
map_ops: {time_ms: 6, mem_mb: 16.0}
948+
list_build: {time_ms: 5, mem_mb: 13.0}
949+
sieve: {time_ms: 7, mem_mb: 15.5}
950+
nqueens: {time_ms: 17, mem_mb: 23.0}
951+
atom_swap: {time_ms: 6, mem_mb: 12.0}
952+
gc_stress: {time_ms: 29, mem_mb: 17.3}
953+
lazy_chain: {time_ms: 6, mem_mb: 12.0}
954+
transduce: {time_ms: 7, mem_mb: 12.0}
955+
keyword_lookup: {time_ms: 13, mem_mb: 12.0}
956+
protocol_dispatch: {time_ms: 5, mem_mb: 12.0}
957+
nested_update: {time_ms: 12, mem_mb: 16.8}
958+
string_ops: {time_ms: 26, mem_mb: 23.3}
959+
multimethod_dispatch: {time_ms: 6, mem_mb: 12.0}
960+
real_workload: {time_ms: 10, mem_mb: 19.2}

build.zig.zon

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
.version = "0.2.0",
44
.dependencies = .{
55
.zwasm = .{
6-
.url = "https://github.com/clojurewasm/zwasm/archive/v0.2.0.tar.gz",
7-
.hash = "zwasm-0.2.0-IBbzF4qdGQDY2MqbDOXjG3hsd8aEGaEpsSQndxRMtCmV",
6+
.url = "https://github.com/clojurewasm/zwasm/archive/v0.3.0.tar.gz",
7+
.hash = "zwasm-0.3.0-IBbzF_CyGwCnVvJ97chH7HcQdmygUKTtQy57D7yzfhlr",
88
},
99
},
1010
.fingerprint = 0x62a7be489d633543,

0 commit comments

Comments
 (0)