Live data from Hacker News

Zig 0.13.0 Release Notes

ziglang.org

21–25 of 25 posts

Re: Zig 0.13.0 Release Notes

#21
post #6

Earlier quoted context omitted.

Many examples out there are broken. As a sidenote, I've been benchmarking Zig, Rust and C++ with a fibonacci benchmark and the results basically show that C++ is the fastest, but within a 3% margin of error against Rust and Zig, which are mostly similar (Rust so ever slightly faster).

Can you please share the code? On my tests late last year it was basically Zig, C++, Rust. Sorry I don’t have the code anymore.

Soon I'll write something and publish it.

Re: Zig 0.13.0 Release Notes

#22
post #9

Earlier quoted context omitted.

Many examples out there are broken. As a sidenote, I've been benchmarking Zig, Rust and C++ with a fibonacci benchmark and the results basically show that C++ is the fastest, but within a 3% margin of error against Rust and Zig, which are mostly similar (Rust so ever slightly faster).

What's compiling C++? Having faster compilers available is nice, but comparing same llvm version would be interesting

I'll write something an post it here in HN

Re: Zig 0.13.0 Release Notes

#23

Earlier quoted context omitted.

Many examples out there are broken. As a sidenote, I've been benchmarking Zig, Rust and C++ with a fibonacci benchmark and the results basically show that C++ is the fastest, but within a 3% margin of error against Rust and Zig, which are mostly similar (Rust so ever slightly faster).

Have you published these benchmarks?

Not yet, but I'll soon

Re: Zig 0.13.0 Release Notes

#24
post #18
post #15

Earlier quoted context omitted.

Here too? Never mind function colouring, async/await itself is a feature that infects entire languages. Such a terrible abstraction of concurrency for our 1970-style languages. Zig doesn't have strings because they're too high level, but async/await is fine.

From what we know their async/await should be noticeably distinct from the usual, otherwise the previous revert was for nothing.

I still can't find a decent explanation as to why zig, a C replacement needs to have Async built in by default. I actually think this should belong to a higher level abstraction.

Re: Zig 0.13.0 Release Notes

#25
post #24
post #18

Earlier quoted context omitted.

From what we know their async/await should be noticeably distinct from the usual, otherwise the previous revert was for nothing.

I still can't find a decent explanation as to why zig, a C replacement needs to have Async built in by default. I actually think this should belong to a higher level abstraction.

Zig doesn't have to have it, but in Zig's specific case it can offer a surprisingly innovative implementation of it. The grandparent post mentioned how async/await infects languages (it does) and Zig is in a unique position where this would be not as true. Note that async/await has to gain a lot by being "built in" as opposed to a pure userland thing, as it basically is used to rewrite function bodies and mess with calling conventions.

As for the correct level of abstraction of async/await I believe that it's actually a very low-level primitive that should only be offered in low-level languages as it's very footgunny to use in high-level languages and generally worse than actors/csp.

Post reply on HN