But, there’s just the fact that people writing real-time/near real-time systems do, in fact, choose GC languages and make it work: video games are one example with Minecraft and Unity being the major examples. But also HFT systems: Jane Street heavily uses Ocaml and other companies use Java/etc. with specialized GCs.
This is not even to mention the microbenchmarks that seem to indicate that Common Lisp and Java can match or exceed Rust for tasks like implementing lock-free hash maps and various other things https://programming-language-benchmarks.vercel.app/problem/s...
I'm actually fascinated with the idea of going off-heap in the hotspots of GC'ed languages to get better performance. Netty, for instance, relies on off-heap allocations to achieve better networking performance. But, once you do so, you start incurring the disadvantages of languages like C/C++, and it can get complicated mixing the two styles of code.
Yep, also the median dev in a GC'ed language is simply incapable of writing super efficient code in these languages because they rarely have to. You would have to bring in the best of the best people from those communities or put your existing devs through a pretty significant education process that is similar in difficulty to just learning/using Rust.
The resulting code will be very different to what typical code looks like in those languages, so the supposed homogeneity benefits of just writing fast C#/Java when it's needed are probably not quite true. You'd basically have to keep that project staffed up with these kinds of people and ensure they have very good Prod observability to ensure regressions don't appear.
Please be specific.
You pointed to spectral-norm, what does that have to do with lock-free hash maps?
The 2.java program seems to be 4x slower than the 7.rs program !
I was referring to this with the lock-free hash maps: https://twitter.com/nodefunallowed/status/137196906733924761...
Well thank you for providing an actual reference.
afaict from a twitter thread, "42nd At Threadmill" and "Luckless" are both Lisp re-implementations of the same Java hashtable code.
afaict the Rust sofware is not a re-implementation of that same Java hashtable code.
afaict that chart does not show any measurements of Java software, just Lisp and Rust.
So "… Java can match or exceed Rust …" seems to be based on nothing.
> Look at 2.cl, though…
So hand-coded AVX is hand-coded AVX in any language?