Search posts, tags, users, and pages
Is Rust used in any of geospatial operations? Kakadu for jpeg2000 is written in C++. Do you have some benchmarks where Rust could outperform C++?
Is Rust used in any of geospatial operations?
This is not my area of expertise.
Kakadu for jpeg2000 is written in C++. Do you have some benchmarks where Rust could outperform C++?
I'm always wary of linking to the benchmarks game, as microbenchmarks are, well, microbenchmarks, but benchmarksgame.alioth.debian.org/u64q/compare.php
As you can see, we're faster sometimes, slower sometimes. One area where Rust is significantly slower are the ones where we need explicit SIMD; that's coming to stable Rust soon, but not quite yet.
In general though, there's some other ways to think about this question that are interesting: Rust has significantly more information about the code at compile time than C++ does, especially around things like pointer aliasing. We're not properly using that information for performance yet, but once we do, we should see some big speedups.
Another way is "safety doesn't make you slow, it lets you go fast." Several big Rust users, such as the Stylo team, have talked about how Rust's compile-time guarantees let them do very aggressive things that you can do in C++, but are irresponsible to do, because they're so tricky. There were actually two previous attempts to parallelize Firefox's CSS code in C++ before Stylo did it in Rust, and they both failed. I find this idea much more promising than microbenchmarks when talking about performance in both langauges.
Finally, there's also the question of "the best vs the best" and "the average vs the average." Even if C++ could squeak out more performance in the hands of an expert than Rust in the hands of an expert, the more compelling question, in my mind, is "how does the speed of the average C++ dev's code compare to the speed of the average Rust dev's code." In Rust, the fastest thing is often the easiest thing. Time will tell!
Is Rust used in any of geospatial operations?
Also not my area, but I do know there are a number of geospatial libraries in crates.io.