HN2new | past | comments | ask | show | jobs | submitlogin

I was curious, so I ran your zig version myself and ported it to rust[1].

I think you forgot to run your benchmark in release mode. In debug mode, I get similar results to you. But in release mode, it runs ~5x faster than you reported:

    genericWriter        - 4035.47ns per iterations
    appendSlice          - 4026.41ns per iterations
    appendSliceOptimized - 2884.84ns per iterations
I bet the first two implementations are emitting identical code. But appendSliceOptimized is clearly much more efficient.

For some reason, rust is about twice as fast as zig in this test:

    generic_writer          time:   [1.8812 µs 1.8837 µs 1.8870 µs]
    append_slice            time:   [2.0019 µs 2.0065 µs 2.0126 µs]
    append_slice_raw        time:   [1.6932 µs 1.7041 µs 1.7182 µs]
(1µs = 1000ns)

[1] https://gist.github.com/josephg/e2dd6e7baf0a764a21bd724f8a2e...

Tests running on linux 6.8.0, CPU: Ryzen 7950x. zig v0.13 / rust v1.84.1.

Zig command: zig build --release=fast -Dtarget=native run

Rust command: RUSTFLAGS='-C target-cpu=native' cargo run --release -- --bench



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: