Il progetto GNU ha pubblicato il rilascio 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. Nella nuova versione, le operazioni di decompressione sono state notevolmente accelerate. Su sistemi x86_64 che supportano le istruzioni del processore PCLMUL, il guadagno prestazionale raggiunge il 40%, mentre su sistemi senza supporto PCLMUL arriva fino al 20%.
L'accelerazione è stata realizzata grazie all'ottimizzazione delle operazioni con le somme di controllo (CRC), il cui calcolo richiedeva circa metà del tempo di elaborazione della CPU. La versione ottimizzata del CRC è già stata inclusa nella libreria gnulib, il che porterà a un'accelerazione anche di altri progetti GNU che utilizzano le funzioni di calcolo delle somme di controllo.
Sono state apportate modifiche che compromettono la compatibilità: l'installazione dello strumento zmore è stata interrotta su piattaforme che non utilizzano lo strumento "more"; la gestione della variabile d'ambiente GZIP (che imposta le opzioni predefinite) è stata interrotta in situazioni in cui non sono state specificate esplicitamente le opzioni "-1" (—fast), "-2",... "-9" (—best), "—rsyncable" o "—synchronous".
In aggiunta si può notare:
- Il rilascio dello strumento 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 che contengono più di 100.000 file. Il 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 multilanguage principale di Unicode (codici da 0000 a FFFF).
- Il rilascio del pacchetto GNU Diffutils 3.12, che include strumenti per la valutazione delle differenze nei file, come diff, diff3, sdiff e cmp. Nella nuova versione sono stati corretti due errori: crash durante l'uso di "diff -y" e problemi con "diff -r" durante il confronto di file non vuoti e vuoti.
- Il rilascio del pacchetto di utilità di sistema di base GNU Coreutils 9.7, che comprende programmi come sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. Nella nuova versione, l'utilità logname ha aggiunto il supporto per sistemi basati su librerie C musl e uclibc. In generale, è stata registrata solo la correzione di bug che interessano le utilità cat, cksum, dd, ls, timeout, sleep, tail e who.
Fonte: opennet.ru
