Objavljen LZ4 1.10 algoritam za bezgubitnu kompresiju


Objavljen LZ4 1.10 algoritam za kompresiju s podrškom za višestruko procesiranje, što dramatično poboljšava brzinu kompresije do 8 puta.

LZ4, široko korišteni otvoreni algoritam za kompresiju na više platformi poznat po svojoj brzini i učinkovitosti, upravo je dosegao verziju 1.10.

Ovo najnovije ažuriranje uvodi značajna poboljšanja, osobito podršku za više niti, što iskorištava moderne procesore s više jezgri za ubrzanje zadataka kompresije i dekompresije u okruženjima s visokim protokom podataka.

Za one koji možda ne znaju, LZ4 je posebno omiljen kada je brzina važnija od omjera kompresije, poput streaminga ili aplikacija u stvarnom vremenu.

Što je novo u LZ4 1.10

Do sada je LZ4 uglavnom radio kao proces s jednom niti. Međutim, verzija 1.10 to potpuno mijenja.

LZ4 Višenitnost: Promjena Pravila Igre

Glavna značajka LZ4 1.10 je njegova mogućnost višestrukog izvođenja niti. Omogućujući više niti da istovremeno obrađuju podatke, LZ4 značajno smanjuje vrijeme potrebno za komprimiranje i dekomprimiranje velikih datoteka.

Ovo je osobito korisno pri korištenju načina rada s visokim stupnjem kompresije, koji su općenito zahtjevniji za procesor. Najnoviji benchmark testovi jasno prikazuju poboljšanja na različitim operativnim sustavima:

  • Na Windows 11, koristeći AMD 7840HS procesor, vrijeme kompresije poboljšano je s 13,4 sekundi na samo 1,8 sekundi — što je povećanje brzine od 7,4 puta.
  • Korisnici macOS-a s M1 Pro čipom će primijetiti smanjenje s 16,6 sekundi na 2,55 sekundi, što znači 6,5 puta brže performanse.
  • Za korisnike Linuxa na i7-9700k, vrijeme kompresije smanjeno je s 16,2 sekunde na 3,05 sekundi, što predstavlja ubrzanje od 5,4 puta.

Ova poboljšanja nisu ograničena samo na kompresiju. I dekompresija također ima koristi od višedretvenog procesiranja, iako u manjoj mjeri, jer se moderni NVMe diskovi i dalje mogu potpuno iskoristiti s jednom niti.

Međutim, preklapanje I/O operacija s procesima dekompresije dodatno poboljšava performanse.

Poboljšana kompresija rječnika

Još jedno značajno poboljšanje u LZ4 1.10 je službena podrška za kompresiju i dekompresiju rječnika, koja je prešla iz eksperimentalnog u potpuno podržano.

Ovo omogućuje programerima da pouzdanije koriste LZ4 u aplikacijama koje imaju koristi od tehnika s rječnicima, poput malih prijenosa podataka gdje inicijalizacija može biti usko grlo.

Nova razina kompresije i druga poboljšanja

LZ4 1.10 uvodi novu opciju kompresije „Level 2”, koja uravnotežuje performanse i omjer kompresije, pružajući optimalno rješenje za mnoge primjene.

Osim toga, ažuriranje uključuje brojne unaprjeđenja, poput bolje podrške za platformu, poboljšanog upravljanja pogreškama i fleksibilnije konfiguracije putem varijabli okruženja.

Na kraju, ovo izdanje podržava manje poznate arhitekture poput LoongArch, RISC-V i drugih, osiguravajući prijenosivost LZ4-a na različitim platformama.

Za detaljan pregled svih noviteta u LZ4 1.10, pogledajte puni zapis promjena.