A GNU Coreutils 9.11 jobb teljesítményt és fejlettebb többbájtos karakterkezelést hoz

7/10
A kiadás súlyát a teljesítményspecifikus fejlesztések adják, amely egyes eszközöknél akár 15-szörös teljesítményjavulást is hozhat.

Megjelent a GNU Coreutils 9.11 stabil kiadása, amely a Linux és más Unix-szerű rendszerek egyik legalapvetőbb parancssori eszközkészletének új verziója. Az új kiadás több széles körben használt segédprogramnál is érdemi sebességnövekedést hoz, emellett rendez néhány régebbi hiányosságot a többbájtos karakterek kezelése és a különböző Unix-változatok közti kompatibilitás kapcsán.

A GNU Coreutils 9.11 jobb teljesítményt és fejlettebb többbájtos karakterkezelést hoz

Gyorsabb adatfolyamok és szövegfeldolgozás

A Coreutils 9.11 alatt egyes eszközök teljesítménye jelentősen javult. Linuxon a cat és a yes parancsok már zero-copy I/O megoldást használnak, ami a fejlesztők belső mérései alapján akár tizenötszörös gyorsulást is hozhat. Ez főleg olyan esetekben hasznos, ahol a két parancs nagy mennyiségű adat mozgatásában vagy folyamatos kimenet előállításában vesz részt, mert ilyenkor minden fölösleges memóriamásolás lassítja a feldolgozást. Az új eljárás ezt csökkenti, így a két parancs hatékonyabban futhat.

De természetesen nem csak ezt a két eszközt érintik az újdonságok. ARM-alapú hardveren a wc -l parancs futtatása a NEON utasításkészletet használó rendszereken akár 4,5-szer jobb teljesítményt nyújthat, a shuf parancs pedig az unlocked stdio használatával érhet el akár kétszeres teljesítményt. A többbájtos karakterfolyamok feldolgozásánál szintén javul a teljesítmény: a karaktereket számoló wc -m parancs a mérések szerint akár 2,6-szor gyorsabb teljesítményt is képes produkálni. Ez különösen abban az esetben lehet hasznos, ahol UTF-8-as szövegek, nem latin írásjelek vagy emojik nagyobb mennyiségben fordulnak elő.

További fejlesztések a Coreutils 9.11-ben

A 9.11-es kiadás a szövegfeldolgozás pontosságán is javít. A korábbi változatokban néhány alapvető segédprogram nem mindig kezelte helyesen a többbájtos karaktereket, ami UTF-8-as szövegeknél hibás eredményhez is vezethetett. Ezt a mostani frissítés a cut, az nl, valamint az unexpand és az expand parancsokműködésének átdolgozásával rendezi, így ezek már megfelelő többbájtos karakterkezelést biztosítanak.

A Coreutils 9.11 több kisebb, de hasznos módosítást hoz. A cut új kapcsolókat kapott, hogy jobban igazodjon más Unix-változatok működéséhez. A date már a ponttal tagolt dd.mm.yy formátumú dátumokat is értelmezni tudja, a cksum –check parancs pedig megerősített fájlnév-idézést használ, így a szokatlan karaktereket tartalmazó fájlnevek kisebb eséllyel okoznak hibát.

További részletek a kiadási megjegyzésekben olvashatóak.