Megérkezett az XZ Utils 5.8 mely az első verzó

A nyílt forráskódú eszközkészlet az XZ Utils, a .xz fájlformátum teljes C99-es implementációja, ma új verzióval frissült, 5.8-as verziószámmal, amely számos teljesítményjavítást és új funkciót hoz a fájlok be és kitömörítése terén.

Megérkezett az XZ Utils 5.8 mely az első verzó

Főbb teljesítményjavítások az XZ Utils 5.8-ban

Az egyik legjelentősebb változás a liblzma tömörítő könyvtár frissítése a 32-bites és 64-bites x86 platformokon. Ez a frissítés javítja a kitömörítési sebességet, amely 0-5%-kal nőhet azon rendszereken, amelyek GCC futtatási könyvtári kivétellel készültek. Azok a rendszerek, amelyek a musl libc C standard könyvtárra építenek, akár 15%-os sebességnövekedést is tapasztalhatnak, különösen erősen tömörített fájlok esetén.

Ezen kívül az LZMA/LZMA2 kódolási sebessége is javult a 64-bites PowerPC processzorokon és a 64-bites RISC-V processzorokon, amelyek támogatják a gyors, nem igazított hozzáférést. Alacsony szintű API-k is hozzá lettek adva a RISC-V, ARM64 és x86 BCJ szűrőkhöz az lzma/bcj.h fejléchez.

CRC32 utasítás támogatás bevezetése a LoongArch architektúrán

A 5.8-as verzióban új lehetőségként a CRC32 utasítások támogatása bevezetésre került a LoongArch architektúrához, így gyorsabbá válik a CRC32 számítások végrehajtása. Ez a bővítés egy sor más fejlesztéssel együtt segíti a CRC32 számítások hatékonyságának növelését különböző hardverarchitektúrák esetében.

Új funkcióként egy --no-sync opció is bekerült az xz parancsba, amely lehetővé teszi a szinkronizálás előtti törlés viselkedésének letiltását, így a felhasználók nagyobb kontrollt kapnak a fájlok törlésének folyamatában.

Az xz, xzdec és lzmainfo komponenseket úgy frissítették, hogy az üzenetekben megjelenő nem nyomtatható karaktereket kérdőjelekre cserélték. Ez megakadályozza, hogy rosszindulatú fájlneveken keresztül speciális kódok manipulálják a terminálok működését.

Új Szinkronizálási funkciók

Az XZ Utils 5.8 egy hasznos funkcióval is bővült, amely az fsync() használatával szinkronizálja a kimeneti fájlt és annak könyvtárát a bemeneti fájl törlését megelőzően. Ez különösen hasznos sok apró fájl tömörítésekor, mivel biztosítja, hogy rendszerleállás esetén ne veszítsünk el adatokat. Azonban fontos megjegyezni, hogy sok apró fájl feldolgozása jelentős teljesítménycsökkenést eredményezhet.

Elavult funkciók és egyéb változások

A folyamatos fejlesztések részeként az XZ Utils 5.8 kiadásában elavultnak lett minősítve számos LZMA Utils szkript alias, mint például lzcmp, lzdiff, lzless, lzmore, lzgrep, lzegrep és a lzfgrep. A frissítés tartalmazza az x86/x86-64/E2K CLMUL CRC kód újraírását is, amely teljesítménynövelést biztosít, és támogatást nyújt a Landlock ABI 5 és 6 számára az xz és xzdec számára Linux rendszereken.

Továbbá a CMake támogatás is frissült, beleértve a CMake 3.20 kompatibilitást. A kisebb finomítások az ARM64 (AArch64) CRC32 kódon és BCJ szűrőkön is megvalósultak, valamint mostantól a 32-bites x86, CLMUL CRC és a régi assembly verziók is együttműködhetnek a futásidő észleléssel.

Az XZ Utils 5.8 már elérhető a hivatalos weboldalon.