News for hackers. Stuff that matters.
Re:A single line of code made a 24-core server slower than a... by dagmx on Saturday January 01, 2022 @03:39AM (#29756685)
Your comment said that C++ would solve it, I was merely pointing out that Rust can solve it identically to C++ by side stepping the borrow checker. You can do so without any performance penalties as well and the code would function identically to the way it does in C++.
Re:A single line of code made a 24-core server slower than a... by Const-me on Saturday January 01, 2022 @04:08AM (#29756836)
> Rust can solve it identically to C++ by side stepping the borrow checker

Doing that is prohibitively expensive in this particular case. It would require patching a large third-party library who uses Arc for the API: https://docs.rs/rune/latest/rune/struct.Vm.html#method.new

And the reason that library uses Arc in the API is unique to Rust.

Re:A single line of code made a 24-core server slower than a... by dagmx on Saturday January 01, 2022 @12:55PM (#29760811)
You're talking about the specifics of this library. As you said in your original comment, that would apply to any C++ library using shared_ptr too across the API boundary.

A different non-GC language wouldn't change things, because you'd have the exact same trade off if the same decision was made.

The only major difference is that Rust pushes you to Arc but C++ doesn't push you to a shared_ptr.