Il progetto GNU ha pubblicato la versione del pacchetto gzip 1.14, che include gli strumenti gzip, gunzip, zmore e zcat per la compressione e decompressione dei dati utilizzando l'algoritmo LZ77. La nuova versione ha notevolmente accelerato le operazioni di decompressione. Su sistemi x86_64 che supportano le istruzioni del processore PCLMUL, il guadagno di prestazioni arriva fino al 40%, mentre su sistemi senza supporto PCLMUL fino al 20%.
Il miglioramento è stato realizzato grazie all'ottimizzazione delle operazioni con i checksum (CRC), per il calcolo dei quali veniva impiegata circa metà del tempo di CPU. La versione ottimizzata del CRC è già stata aggiunta alla libreria gnulib, il che porterà a un'accelerazione di altri progetti GNU che utilizzano le funzioni di calcolo dei checksum.
Sono state apportate modifiche che interrompono la compatibilità: l'installazione dello strumento zmore è stata interrotta su piattaforme che non utilizzano lo strumento 'more'; la gestione della variabile di ambiente GZIP (che imposta le opzioni predefinite) è stata interrotta nelle situazioni in cui le opzioni '-1' (—fast), '-2', ... '-9' (—best), '—rsyncable' o '—synchronous' non sono esplicitamente indicate.
In aggiunta si può notare:
- Rilascio dell'utilità per l'organizzazione della ricerca di dati nei file di testo — GNU Grep 3.12. Nella nuova versione è stato risolto un problema con la ricerca in directory contenenti più di 100.000 file. Supporto per l'opzione «—unix-byte-offsets» («-u») è stato interrotto. Su piattaforme Windows e AIX in modalità a 32 bit è stato implementato il supporto per i caratteri Unicode al di fuori della pianura multilingue principale di Unicode (codici da 0000 a FFFF).
- Rilascio del pacchetto GNU Diffutils 3.12, che include utilità per valutare le differenze nei file, come diff, diff3, sdiff e cmp. Nella nuova versione sono stati corretti due errori: arresto anomalo durante l'uso di «diff -y» e problemi con «diff -r» nella comparazione di file vuoti e non vuoti.
- Rilascio del pacchetto delle utilità di base del sistema GNU Coreutils 9.7, composto da programmi come sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. Nella nuova versione è stata aggiunta al comando logname la compatibilità con i sistemi basati sulle librerie C musl e uclibc. In altri aspetti, sono state segnalate solo correzioni di bug che riguardano le utilità cat, cksum, dd, ls, timeout, sleep, tail e who.
Fonte: opennet.ru
