82b56af is a significant speedup for a RUN zig test foo command that's added at the bottom of the Dockerfile. But it doesn't seem to be a speedup in production.
Some possible short-term ways to improve:
- Ensure that Zig can fully use the cache. Maybe some combination of:
- Put the cache on a
tmpfs.
- Update Zig. Maybe commits like ziglang/zig@020105d could help.
Longer term:
- Use a bigger Zig cache.
- Wait for https://www.github.com/ziglang/zig/issues/16270.
- Use the x86_64 backend (currently marked as experimental).
- Use wasm, like https://playground.zigtools.org/ and https://github.com/zigtools/playground. Exercism doesn't support this for now.
- Wait for perf improvements in https://www.github.com/ziglang/zig/projects/6
- Consider trying the C backend (no longer marked as experimental), and compiling with a fast C compiler. Note that the issue for generating tcc-compatible code (ziglang/zig#13576) is currently marked for Zig 1.1.0. Aside: the Nim test runner currently compiles Nim to C, and then uses tcc.
82b56af is a significant speedup for a
RUN zig test foocommand that's added at the bottom of theDockerfile. But it doesn't seem to be a speedup in production.Some possible short-term ways to improve:
USER(done in b8b9d02)bin/run.sh, notzig testdirectly (done in 0636420)-target(done in b58066f)zig testtmpfs.Longer term: