Súlyos teljesítményprobléma lépett fel a Rustban újraírt Coreutils csomagban lévő egyik komponenssel. Aki esetleg nem ismerné, a Rust coreutils átirat a már jól bevált és kiforrott C alapú GNU Coreutils-t kívánja felváltani. Egy hibajelentés szerint a cksum segédprogram egyes nagy fájlok esetében akár 17-szer lassabban fut, mint a C-ben írt GNU megfelelője. A problémát a BAMF0 nevű fejlesztő fedezte fel és benchmarkokkal igazolta, amelyek alapján a Rust Coreutils jelentősen elmarad a teljesítményben bizonyos tesztesetekben a GNU-s C változathoz képest. A hiba különösen 4 gigabájtos fájlok feldolgozásánál jelentkezett, ahol a futási idők között drasztikus eltérést mértek.
Tartalomjegyzék

Fejlesztői reakciók és javítási kísérletek
A hibát a projekt vezetője, Sylvestre Ledru is reprodukálni tudta, és gyorsan hozzálátott a teljesítmény javításához szükséges foltozások kidolgozásához. Az elmúlt hetekben több commit is bekerült a kódbázisba, amelyek a cksum optimalizálására fókuszálnak, és részben már lezárták a hibajelentést. Ugyanakkor több hozzászólásból is kiderül, hogy a teljes javítás még folyamatban van, és a közösség további tesztekkel, valamint fejlesztői javaslatokkal támogatja az optimalizálást. Egyes hozzászólók például a BufReader alapértelmezett pufferének megnövelését javasolták, amely nagy fájlok esetén csökkentheti az I/O műveletek számát és gyorsíthatja a feldolgozást.
Azonban nem ez volt az egyetlen gond a Rust Coreutils körül, ugyanis a sort segédprogrammal kapcsolatban is felmerült egy komoly hiba. A beszámolók szerint, ha egyetlen sorból álló, több gigabájtos fájlt kell rendeznie, a program egyszerűen nem fejezi be a feldolgozást. A GNU Coreutils hasonló esetben rövid időn belül végez, így a különbség jól érzékelhető. A fejlesztők megjegyezték, hogy a helyzet ugyan ritka valós környezetben, de mégis valós probléma, például potenciális túlterheléses támadásoknál. A közösség itt is több irányt javasolt a javításra, köztük a fájlok gyorsabb, nagyobb blokkokban történő olvasását és hatékonyabb feldolgozását.
Kilátások az Ubuntu 25.10 kiadásra
Az Ubuntu 25.10 stabil változata még néhány hét múlva várható, így van idő a Rust Coreutils teljesítménybeli problémáinak rendezésére. Nem ez az első eset, hogy a Rustban írt eszközök teljesítménye aggodalmat keltett: korábban a base64 és a sort parancsnál is jelentkeztek hasonló gondok, bár azokat állítólag gyorsan sikerült orvosolni. A fejlesztők számára most az a legfontosabb, hogy a jelentősebb hiányosságokat még a kiadás előtt kijavítsák, hiszen az Ubuntu 26.04 LTS kiadása jövő tavasszal már széles körben fogja alkalmazni ezeket az új eszközöket. A közösség figyelme most arra irányul, hogy a Rust Coreutils teljesítményben is felzárkózzon a GNU változatokhoz, és ne okozzon fennakadást a felhasználók számára a váltás.
Feltétlenül szükséges hogy minden újra legyen írva Rustban?
A Rust Coreutils körüli hibák és teljesítményproblémák újraélesztették azt a vitát, hogy mennyire helyes a Rust mindenáron való bevezetése a jól bevált C nyelv helyett. Bár a Rust új szemléletű nyelvi funkciói és állítólagos biztonsági garanciái sok fejlesztő számára vonzóak lehetnek, a gyakorlatban egyértelművé vált, hogy a teljesítmény és a stabilitás nem minden esetben éri el a C-ben írt változatok szintjét. Az olyan alapvető eszközök, mint a GNU coreutils programjai, több évtizede kiforrott, érett implementációval rendelkeznek, és ezek lecserélése nem csupán technológiai, hanem ökoszisztéma-szintű kockázatokat is hordoz.
A cksum és a sort esetében tapasztalt hibák arra mutatnak rá, hogy a Rust kód újraírása nem garantál automatikusan jobb működést, sőt bizonyos esetekben komoly lassulást vagy hibás viselkedést eredményezhet. Ez különösen aggályos akkor, amikor egy disztribúció alapvető komponenseit érinti a probléma, hiszen a felhasználók elvárják a gyorsaságot és a megbízhatóságot. Emiatt sokan úgy vélik, hogy a Rust bevezetésének fokozatosnak és megfontoltnak kell lennie, nem pedig erőltetett cserének, amely figyelmen kívül hagyja a C-ben írt eszközök bizonyított hatékonyságát.
Sokan a Rust közösség viselkedését is kritizálják, mert sokszor úgy tűnik, mintha vallásos buzgalommal igyekeznének minden területen kiszorítani a C-t. A kritikusok szerint a Rust közösség egy része figyelmen kívül hagyja a gyakorlati szempontokat, például a teljesítményt, az évtizedes stabilitást és a meglévő kódbázisok bejáratottságát, és inkább ideológiai alapon érvel a váltás mellett. Ez a hozzáállás a külső szemlélők számára hasonlíthat egy megszállott szekta viselkedésmintájára, amely kevésbé a mérnöki racionalitásra, inkább a hitre építi az érveit.
