79
this post was submitted on 15 Sep 2025
79 points (97.6% liked)
Linux
9406 readers
514 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
They'll fix it... sounds like a skill issue, if base64 got fixed and performs better than c
a pull request has been made, and already merged.
I've heard that while Rust has the ability to be faster than Go and maybe C, it is a lot harder to write rust code to do it
Well, you need to type more and you need to learn more things with Rust, before you can start making stuff.
But the additional work is to make it easier for you to make changes later, when you come back to it after a while.
So you might need to do more before hello world, but say if you have a complex library and want to use some function of it after learning Rust, it will be easier to not make some common mistakes.
A pretty good recent example of something that will cause a common mistake would be:
In the mongoc library, there is a function named
mongoc_client_select_server
and the pointer it returns requires destruction usingmongoc_server_description_destroy
. But it doesn't say so in the function's comments/documentation. So, I had to go into the function called by the function called by the function called by it, to find the function making said pointer and having a comment stating that the pointer made by it would require destruction by the user.And the only reason I found that out was my obsession, but I had already made the mistake.
This is not true. If you know Rust and C equally well, you're likely going to write equally performant Rust.
You could say that Rust is harder to learn than C. I'd disagree based on my personal experience, but you wouldn't be wrong.
I have read papers for my bachelor's thesis that compared rust and c on x86-64 in terms of performance. It showed that C is a little or significantly faster, depending on the type of workload.
This is likely due to some runtime checks the rust compiler adds, and modified rust compilers that added less runtime checks led to about the same performance.
However, the performance is still very good for both languages (native machine code being executed), and in the same order of magnitude.
My own measurements for the armv6m architecture with an STM-32 showed that rust may even be faster in some cases, since the optimizing of the rust compiler was better, at least for that setup and for the CRC-32 algorithm.
Unless you're talking about some sort of reference counting, which has to be explicitly added by the programmer in cases where doing so is required for memory safety, I'm not sure what runtime checks you're referring to?
From what I've seen, the performance of programs written in C and Rust are generally the same, more or less, with C or Rust coming out on top with roughly coinflip odds in a handful of cases. This feels like the primary differentiator in performance really comes down to the implementation of the person writing it, and less to do with any performance differences inherent to either language.