Categories
Benchmarks
  • Github CLI
  • SSH
  • HTTPS
Clone Repo

Rust vs. Zig

This is an experiment to evaluate Rust vs. Zig by writing a bytecode interpreter with GC in both languages and comparing them.

The interpreter implementation is from the Crafting Interpreters book.

I wrote a comprehensive summary of this experiment on my personal blog.

Rust implementation

This is in the loxide folder.

To build it:

# in the root project directory
make rust

# inside the rust folder
cargo build --release

To run the tests:

cargo test

# Run with miri to check for undefined behaviour
cargo miri test

Zig implementation

This is in the zlox folder.

To build it:

# in the root project directory
make zig

# inside the zlox folder
# run `zig build help` for options
zig build

To run the tests:

zig build test
zig-out/bin/zlox

Benchmarks

The benchmarks folder contains the code (“*.lox” files) the two interpreters run and the results of the benchmarks. The results are run using hyperfine.

About
Comparing unsafe Rust vs Zig by writing a bytecode interpreter with GC in both langs
Owner
Last Commit
2023-03-07
Latest Release
Latest Release Date
Created
2022-10-11