| ▲ | phire 4 hours ago | |||||||
As much as I enjoy rust, there is no reason why a c++ library can’t be optimised to match the rust implementation. It’s very rare that the actual performance benefits of rust implementations come from rust itself (though it does often push you to slightly better patterns). They usually come from the fact that rust implementations are usually a second (or 3rd, or 4th) iteration of the design, and the lessons learned help performance. The other benefit of rust is that the stronger type system makes it easier to iterate and optimise without bugs creeping in. But once optimisations are implemented in rust, there isn’t that much pain to porting them back to c++, as long as someone cares enough to do so. | ||||||||
| ▲ | magicalist 4 hours ago | parent | next [-] | |||||||
> As much as I enjoy rust, there is no reason why a c++ library can’t be optimised to match the rust implementation. I don't think anyone is claiming that. I took the GP's point as what was desired was a "safe, performant, compact, and compatible JPEG XL decoder in Rust" and "performant" (as defined as the speed of the c++ version) was passed two months ago. > They usually come from the fact that rust implementations are usually a second (or 3rd, or 4th) iteration of the design, and the lessons learned help performance. Sure, and looking at the recent commit histories, the team is focusing on getting the rust version ready for this milestone for obvious reasons, and is less concerned about immediate parity in the c++ codebase. | ||||||||
| ▲ | bawolff 3 hours ago | parent | prev | next [-] | |||||||
>As much as I enjoy rust, there is no reason why a c++ library can’t be optimised to match the rust implementation but why would you bother? The rust library is the one that is being chosen to use. There is no point optimizing a library which is not going to be used. | ||||||||
| ▲ | hn92726819 4 hours ago | parent | prev | next [-] | |||||||
I don't understand why anyone would continue working on the c++ project once the rust one started beating it in performance | ||||||||
| ||||||||
| ▲ | pibaker 3 hours ago | parent | prev [-] | |||||||
I suspect the real reason is safety. Rust isn't bulletproof but it's certainly much better than C++ when it comes to defending against memory corruption related attacks. And when you are building a decoder for untrusted data sent over the internet, this kind of thing matters a lot more. | ||||||||