Skip to main content


Ubuntu 25.10's Rust Coreutils Transition Has Uncovered Performance Shortcomings


Ubuntu 25.10's transition to using Rust Coreutils in place of GNU Coreutils has uncovered a few performance issues so far with the Rust version being slower than the C-based GNU Coreutils. Fortunately there still are a few weeks to go until Ubuntu 25.10 releases as stable and upstream developers are working to address these performance gaps.
in reply to rezad

Wasn't rust suppose to both more performant and more memory safe than it's C counterparts?
in reply to Strit

Rust and C are the same "tier" of performance, but GNU coreutils has the benefit of several decades of development and optimization that the Rust one needs to catch up with.
in reply to Strit

Memory and thread safe yes. Performance was more roughly equal, could be faster or slower depending on use case.

Linux reshared this.

in reply to Strit

It's more a thing like in ripgrep vs. grep; new algorithms being vastly faster in most cases except in some.
in reply to Strit

Rust is fundamentally more limiting than C, even with unsafe. It is often faster if you write naive code (because the Rust compiler can optimize more aggressively due to those same limitations), but an experienced developer with a lot of time for optimization will probably be able to squeeze more performance out of C than they would out of Rust - as you can see in this example. Rust is still better because those limitations all but guarantee that the resulting code will be safer, and the performance differences would be negligible all things considered.
in reply to Strit

Language isn't everything. While Rust provides some features and safety that C doesn't while being roughly equivalent in performance, the algorithms that developers choose will dominate the performance impact on the program.

GNU core utils has decades of accumulated knowledge and optimisation that results in the speed it has. The Rust core utils should in theory be able to achieve equivalent performance, but differences in the implementation choices between one and another, or even something as simple as the developers not having prioritised speed yet and still focusing on correctness could explain the differences that are being reported.

This entry was edited (5 hours ago)
in reply to rezad

This would never happen if it were licensed under GPL. /s
in reply to rezad

This should be avoided like the plague because of the choice to use MIT over GPL.

Any work dedicated to this can and will be stolen by corporations without giving back if they find it useful. This is what happened with Sony and Apple and their respective operating systems. They chose to base them on BSD so they could steal work and not give back to the public.

Do not be fooled.

in reply to yamamoon

They chose to base them on BSD so they could steal work and not give back to the public.


"Here you can use this as you like, no questions asked"

"Hey! Why did you use that in a way that I told you you could!?!?"

in reply to atzanteol

i think the argument here is more that saying "you can use this however you like, no questions asked" is a bad idea because it allows corporations to approriate the work
in reply to rezad

Rust is great, but might it be a bit premature to replace the venerable coreutils with a project boasting version number 0.2, which I imagine reflects its author's view on its maturity?