Takeshi Yoneda
f9373112f4
interpreter: removes unneeded stack walks (#2274)
This makes the interpreter's compilation faster by removing the
unnecessary stack walks. As a result, for some binary, we observe
93% drops in the compilation performance(!) with an additional
but negligible memory usage.
```
goos: darwin
goarch: arm64
pkg: github.com/tetratelabs/wazero
│ old.txt │ new.txt │
│ sec/op │ sec/op vs base │
Compilation/wazero-10 130.1m ± 1% 124.7m ± 1% -4.12% (p=0.002 n=6)
Compilation/zig-10 9097.2m ± 0% 549.0m ± 1% -93.96% (p=0.002 n=6)
Compilation/zz-10 1.159 ± 5% 1.145 ± 3% -1.20% (p=0.041 n=6)
TinyGo/Compile/container_heap.test-10 16.54m ± 1% 15.60m ± 4% -5.66% (p=0.002 n=6)
TinyGo/Compile/container_list.test-10 16.36m ± 1% 15.42m ± 1% -5.74% (p=0.002 n=6)
TinyGo/Compile/container_ring.test-10 16.08m ± 1% 15.17m ± 0% -5.64% (p=0.002 n=6)
TinyGo/Compile/crypto_des.test-10 16.79m ± 1% 15.84m ± 0% -5.68% (p=0.002 n=6)
TinyGo/Compile/crypto_md5.test-10 16.61m ± 1% 15.63m ± 0% -5.88% (p=0.002 n=6)
TinyGo/Compile/crypto_rc4.test-10 15.93m ± 0% 15.05m ± 1% -5.54% (p=0.002 n=6)
TinyGo/Compile/crypto_sha1.test-10 16.63m ± 0% 15.69m ± 0% -5.66% (p=0.002 n=6)
TinyGo/Compile/crypto_sha256.test-10 17.15m ± 1% 16.13m ± 1% -6.00% (p=0.002 n=6)
TinyGo/Compile/crypto_sha512.test-10 17.43m ± 2% 16.30m ± 1% -6.49% (p=0.002 n=6)
TinyGo/Compile/encoding_ascii85.test-10 16.57m ± 1% 15.66m ± 1% -5.52% (p=0.002 n=6)
```
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
2024-06-27 09:43:47 -07:00
..
2024-06-27 09:43:47 -07:00
2024-04-22 11:17:10 +09:00
2024-06-26 10:44:51 -07:00
2024-06-12 09:35:41 -07:00
2024-04-22 11:17:10 +09:00
2024-06-11 18:02:47 +02:00
2024-04-22 11:17:10 +09:00
2024-06-20 09:35:22 -07:00
2024-04-30 17:23:46 +09:00