Yeni LZ4 sürümü, çoklu iş parçacığı sayesinde daha hızlı sıkıştırılır

Adanali

Member
LZ4, hem özellikle hızlı bir sıkıştırma algoritmasını hem de karşılık gelen bir referans uygulamasını ifade eder. İkincisi, Liblz4 kütüphanesinden ve “lz4” komut satırı programından oluşur. Sistemin tamamı artık v1.10.0 sürümünde mevcut olup kod adı “Multicores Edition” zaten en büyük yeniliklerden birine işaret etmektedir.


Duyuru



Çoklu iş parçacığı


LZ4 artık işini birden fazla iş parçacığına dağıtıyor. Bu da çok çekirdekli işlemcilerde ciddi bir hız artışına yol açıyor. Performanstaki artış özellikle çok yüksek sıkıştırma seviyelerinde fark edilir, bu da özellikle büyük miktarda beyin gücüne sahip dosyaları azaltır (yüksek sıkıştırma modu). Geliştiricilerin kıyaslama sonuçlarına göre, yeni LZ4 sürümü önceki sürüme göre sekiz kata kadar daha hızlı çalışıyor. Ekip, en büyük hız artışını AMD Ryzen 7 7840HS işlemcili ve Windows 11'li bir test sisteminde kaydetti.

Ayrıca, G/Ç işlemleri ve sıkıştırmayı açma işlemleri örtüşür. Bu optimizasyonla birlikte LZ4'ün, belirtilmemiş bir test sisteminde 5 GB'lik bir metin dosyasının sıkıştırmasını açması beş yerine yalnızca üç saniye sürdü. Hız artışları yalnızca yüksek sıkıştırma modlarının çalışmasını sağlamakla kalmaz, aynı zamanda NVMe depolama aygıtları gibi hızlı depolama sistemlerini kullanırken de faydalıdır.

Sıkıştırma seviyelerinden bahsetmişken: LZ4 yeni bir sıkıştırma seviyesi 2 sunar. Bunda sıkıştırma programı standart seviye 1'den (hızlı sıkıştırma) biraz daha yavaş çalışır, ancak daha güçlü sıkıştırır. Ancak oluşturulan dosyalar üst düzey 3'teki kadar küçük değildir. Geliştiriciler, 1. seviyeden daha küçük arşivlere ihtiyacınız varsa sürekli olarak 2. seviyeyi önerirler, ancak 3. seviyeyi kullanırken daha fazla bekleyemezler.

Sözlük sıkıştırma


Önceki sürüm zaten sözlük sıkıştırmasını destekliyordu. Bu sıkıştırma yöntemiyle sıkıştırıcı, dosyanın yinelenen içeriğini daha kısa bir sembolle değiştirir. Araç, sözlük adı verilen bir dosyadaki ilgili atamaları hatırlar. Benzer içeriğe sahip birden fazla dosya bir sözlüğü paylaşıyorsa, bu, sıkıştırılmış kopyalar için depolama gereksinimlerini önemli ölçüde azaltabilir. Bu nedenle sözlüğün kullanımı, kendi başlarına çok iyi sıkıştırılamayan birçok küçük dosya için özellikle kullanışlıdır.

Sözlük sıkıştırması önceki sürümde hala deneysel olarak değerlendirilse de, LZ4 v1.10.0 artık resmi olarak süreci desteklemektedir. Her şeyden önemlisi, programcılar artık sözlükleri uygulamalarında güvenle kullanabilecekler. Liblz4 kütüphanesi bazı yeni özellikler sunuyor. Örneğin, “LZ4F_decompress_usingDict()” bir sözlükle birkaç veri bloğunun (LZ4 çerçevesi adı verilen biçimde) sıkıştırmasını açar. LZ4 ayrıca Zstd sıkıştırma aracı sözlük oluşturucusu tarafından oluşturulan mevcut sözlüklerle de çalışabilir.



Son olarak LZ4, loongArch, RISC-V, m68k, MIPS ve Sparc işlemci mimarilerini destekler ve geliştiriciler ayrıca yapı sistemini de biraz değiştirdi. Tüm değişiklikler resmi duyuruda özetlenmiştir.


(vbr)
 
Üst