It makes it clear that some people have most time to optimize for a benchmark than others.
This benchmark on state-of-the-art cryptography shows that GC-ed languages including Go and Nim can be 2x faster than Rust:
- https://hackmd.io/@gnark/eccbench#Pairing (old benchmarks, in particular Nim had a parameter passing issue/bad copy behavior on large types)
Furthermore, Nim GC/memory management is type-dependent, only seq/string (which use malloc/free) and `ref T` type (which use refcounting) involves some runtime. So Nim devs can choose to opt-in in GC or use manual memory management depending on their priorities.
This is wrong. At least, it is not true generally. I wrote a 1:1 port of my C++ chess engine, and after a bit of fiddling with compiler options the Nim version was faster. In fact, when using a delayed garbage collector, the program was even faster than when using reference counting.
No doubt I misunderstood what you meant, so
2.13s n-body C gcc #9 program
3.18s n-body C# .NET #9 program
Is it just that I'm reading your "2-3x" literally, and you also meant 1.5x? :-)Finally! :-)
I think you're saying that no GC language gets withing 2-3x of the fastest non-GC language. There are slow non-GC languages.