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.
		like this
 
					
Strit
in reply to رضا • • •SavvyWolf
in reply to Strit • • •like this
Sickday likes this.
Mark
in reply to Strit • •Linux reshared this.
MonkderVierte
in reply to Strit • • •like this
Sickday likes this.
balsoft
in reply to Strit • • •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.jumping redditor [they/them]
in reply to balsoft • • •balsoft
in reply to jumping redditor [they/them] • • •Froggie 🐸
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.
like this
Sickday likes this.
TMP_NKcYUEoM7kXg4qYe
in reply to Froggie 🐸 • • •Well the entire point of the project is that they used algorithms/features of Rust that make it easier to write fast code. This article basically reports on a "bug". Uutils are in many ways already faster than Coreutils.
Correctness is really more of a byproduct of using Rust. Coreutils have had only a few CVEs in their lifetime so it would be sort of redundant to rewrite them in Rust for "correctness".
communism
in reply to Strit • • •SavvyWolf
in reply to رضا • • •HubertManne
in reply to SavvyWolf • • •yamamoon
in reply to رضا • • •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.
atzanteol
in reply to yamamoon • • •"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!?!?"
magz :3
in reply to atzanteol • • •atzanteol
in reply to magz :3 • • •☂️-
in reply to atzanteol • • •HubertManne
in reply to atzanteol • • •atzanteol
in reply to HubertManne • • •Emphasis mine.
HubertManne
in reply to atzanteol • • •atzanteol
in reply to HubertManne • • •The intent of the BSD licences is to allow you to do what you want without reciprocating though. It's not an accident, it's explicitly stated. It is, in fact, your right. You profiting from the work of others is an intended result.
I prefer GPL myself for this reason. But you can't blame companies for obeying the terms of the licence.
HubertManne
in reply to atzanteol • • •atzanteol
in reply to HubertManne • • •HubertManne
in reply to atzanteol • • •atzanteol
in reply to HubertManne • • •HubertManne
in reply to atzanteol • • •Ferk
in reply to atzanteol • • •It's not like improper use of "steal" is unheard of, I see all the time people use "I'm gonna steal that" and similar even when it applies to things openly given for free. And considering that it's quite clear that the MIT allows others to take without sharing back (it's the main difference with GPL) I'm quite sure the commenter was aware that it wasn't really theft, yet chose that word probably with the intention to insult the practice, rather than as a fair descriptor.
So yes, you're right, it isn't theft... but I don't think that was the point of the comment.
irotsoma
in reply to atzanteol • • •digger
in reply to yamamoon • • •TMP_NKcYUEoM7kXg4qYe
in reply to digger • • •The reason Ubuntu switched was Rust's "safety". Which is sort of a dumb reason because Coreutils have had very few CVEs in the past. A less dumb reason is performance. Uutils are faster than Coreutils, this was an edge-case.
MIT license is the schizo reason. Making a closed source version of Unix utilities would not be beneficial for Canonical in any way, but that does not stop the schizos from schizoing.
Daniel Quinn
in reply to yamamoon • • •CarrotsHaveEars
in reply to Daniel Quinn • • •communism
in reply to CarrotsHaveEars • • •TMP_NKcYUEoM7kXg4qYe
in reply to communism • • •Not only that but if you edit the MIT licensed files (Read: They have the MIT notice, which you have to preserve, in them.), they will still be MIT licensed. Only new files and the entire project will become GPL.
I am not a lawer.
communism
in reply to yamamoon • • •Author: "I consent to my code being used for proprietary programs!"
Compant: "I consent to using this FOSS code in my proprietary program!"
You for some reason: "I don't!"
3abas
in reply to communism • • •They articulated the reason and gave examples of precedence.
And you're dismissing their voice as irrelevant, but as the consumer of the product, their voice is most critical, and more people should be aware of how corporations use their massive wealth to choke and starve open source competition out of existence despite building their products on open source work in the first place.
communism
in reply to 3abas • • •I continue to fail to see the issue with the author, the person whose actual labour goes into the software, not your labour, deciding that they are fine with their source code being used in any way the general public sees fit provided they simply credit the author and provide a copy of the MIT licence. If I give you something, you're not stealing by accepting my gift. They're choosing voluntarily to make their source code available under such a licence. If they weren't okay with that, they would've chosen a copyleft licence.
That seems insanely entitled, but you're allowed to not use non-copyleft software if you really care that much. The authors of permissively licensed software aren't forcing you to use their software.
There are plenty of valid reasons to license a work as MIT or BSD or similar. Firstly, libraries are almost always going to be permissively licensed, not just because it allow
... Show more...I continue to fail to see the issue with the author, the person whose actual labour goes into the software, not your labour, deciding that they are fine with their source code being used in any way the general public sees fit provided they simply credit the author and provide a copy of the MIT licence. If I give you something, you're not stealing by accepting my gift. They're choosing voluntarily to make their source code available under such a licence. If they weren't okay with that, they would've chosen a copyleft licence.
That seems insanely entitled, but you're allowed to not use non-copyleft software if you really care that much. The authors of permissively licensed software aren't forcing you to use their software.
There are plenty of valid reasons to license a work as MIT or BSD or similar. Firstly, libraries are almost always going to be permissively licensed, not just because it allows proprietary software to use those libraries, but also because it allows permissively licensed FOSS to use those libraries. If I want to use a GPL library, it's not just that I have to make my software FOSS, it's that I have to make my software GPL specifically. If I want to make a FOSS MIT program, I can't use any GPL libraries.
Secondly, sometimes it's because, well, as the licence text provides, I don't give a shit what you do with the code. I write lots of little tools that are just for myself and I share them in case they're of use to someone else. If some big corpo uses it in their proprietary money-making machine it's no shit off my back. It was just a little tool I wrote for myself and it doesn't affect me if other people use it to make money.
I think GPL is reasonable if a lot of labour goes into a project, and you'd be discouraged from working on it if someone was leeching off of it for their proprietary software. But my MIT/BSD code requires 0 maintenance labour from me, and I don't care to control how other people use it. That's the whole point of MIT/BSD/Apache/etc. It's the "don't give a shit" licence.
3abas
in reply to communism • • •You're arguing with a strawman you created, no one made any statements about the author. They simply said no one should use the software.
The author can choose to use the MIT license, and we can choose not to use their software.
... Show more...What do you think we're saying here? We're saying we're choosing not to use the author's software, what are you taking issue with exactly?
You're arguing with a strawman you created, no one made any statements about the author. They simply said no one should use the software.
The author can choose to use the MIT license, and we can choose not to use their software.
What do you think we're saying here? We're saying we're choosing not to use the author's software, what are you taking issue with exactly?
And we've articulated valid reasons not to replace GPL core libraries with MIT ones...
Good for you? This isn't about you (the author)... It's about us not wanting to use your work, which you seem to take offense to, as if you did us a favor. Talk about entitlement.
Solid justification for using it for coreutils you got there...
communism
in reply to 3abas • • •The original comment called it stealing. There's nothing morally wrong with stealing, but regardless it's not even stealing. It's a stupid argument.
I'm obviously talking about not giving a shit about how people use it. Which makes sense for coreutils. Loads of people use it for loads of different purposes. The author shouldn't care how people use it.
3abas
in reply to communism • • •We're obviously talking about corporations intentionally using open source software with the intention of eliminating it as competition, we aren't talking about the literal definition of the word "stealing", which you seem smart enough to be able to recognize, but you're insisting on being pedantic.
You twisted that into an argument about what the author of the code has the right to do... No one gives a shit, and we aren't obligated to support it.
communism
in reply to 3abas • • •That's not what corporations do when they use MIT/BSD code. They rely on that code; it's not their "competition". Unless you are talking about stuff like WhatsApp using libsignal, where they do use code from a direct competitor, but that's far less common, and also not going to have a negative effect on Signal. I can't speak for Signal of course but they are probably quite happy with WhatsApp using libsignal, as it both spreads Signal's beliefs about communication being E2EE, and it makes WhatsApp reliant upon Signal. FOSS projects like ffmpeg, curl, etc, are (reasonably!) happy that the entire industry depends on the tool they wrote. And they are kept alive because they are so widely depended upon. Corporations donate to FOSS projects because they need them.
... Show more...wtf is a non-
That's not what corporations do when they use MIT/BSD code. They rely on that code; it's not their "competition". Unless you are talking about stuff like WhatsApp using libsignal, where they do use code from a direct competitor, but that's far less common, and also not going to have a negative effect on Signal. I can't speak for Signal of course but they are probably quite happy with WhatsApp using libsignal, as it both spreads Signal's beliefs about communication being E2EE, and it makes WhatsApp reliant upon Signal. FOSS projects like ffmpeg, curl, etc, are (reasonably!) happy that the entire industry depends on the tool they wrote. And they are kept alive because they are so widely depended upon. Corporations donate to FOSS projects because they need them.
wtf is a non-literal definition of "stealing"? The idea of stealing is stupid enough already, I can't play your games to figure out how you extrapolate something sillier from it. I'm a communist. I don't believe in private property and I don't give a shit about stealing.
3abas
in reply to communism • • •They steal labor. You would think someone with the username communism would instinctively understand that.
And no, it isn't "far less common", and you have already been provided with examples of what we mean, so I'm not playing your games of providing examples (that don't even use the MIT license, but now I'm the one being pedantic).
communism
in reply to 3abas • • •BradleyUffner
in reply to yamamoon • • •bodaciousFern
in reply to yamamoon • • •If you replace your uses of the words stolen and steal with "kept" and "keep'", then your statements make sense.
Also it's coreutils - they intentionally have a very focused scope and features. An Apple LLM bundled into awk is desired by no one
Matt
in reply to yamamoon • • •mholiv
in reply to Matt • • •beleza pura
in reply to Matt • • •flux
in reply to رضا • • •excral
in reply to flux • • •flux
in reply to excral • • •They don't need to use semantic versioning. I doubt coreutils itself uses it, though I admit I haven't checked. Actually I think semantic versioning is less popular in practice than it looks like.
For a set of tools to that completely replaces another one, announcing a 1.0 version would be a message that the developers think the project has actually reached its initial goals. "0.2" does not.
Matt
in reply to flux • • •TMP_NKcYUEoM7kXg4qYe
in reply to flux • • •The author simply listened to the word of 0-Based Versioning. It says more about your maturity than of the projects. Much to learn you still have.
0ver.org/
ZeroVer: 0-based Versioning — zer0ver
0ver.orgboomzilla
in reply to رضا • • •LeFantome
in reply to boomzilla • • •ziggurat
in reply to boomzilla • • •