LZ4, hem özellikle hızlı bir sıkıştırma algoritmasını hem de buna karşılık gelen bir referans uygulamasını ifade eder. İkincisi, Liblz4 kütüphanesinden ve “lz4” komut satırı programından oluşur. Tam sistem artık v1.10.0 sürümünde mevcuttur, kod adı “Multicores Edition”, zaten en büyük yeniliklerden birini göstermektedir.
Reklamcılık
Çoklu iş parçacığı
LZ4 artık işini birden fazla iş parçacığına dağıtıyor. Bu, çok sayıda çekirdeğe sahip işlemcilerde hızda önemli bir artışa yol açıyor. Performanstaki sıçrama, özellikle çok fazla beyin gücüyle dosyaları küçülten (yüksek sıkıştırma modları) çok yüksek sıkıştırma seviyelerinde fark ediliyor. Geliştiricilerin kıyaslama sonuçlarına göre, yeni LZ4 sürümü selefinden sekiz kata kadar daha hızlı çalışıyor. Ekip, en büyük hız artışlarını AMD Ryzen 7 7840HS işlemci ve Windows 11'li bir test sisteminde kaydetti.
Ek olarak, G/Ç işlemleri ve sıkıştırma açma işlemleri çakışır. Bu optimizasyonla birlikte, LZ4 belirtilmemiş bir test sisteminde 5 GB'lık bir metin dosyasını açmak için beş saniye yerine yalnızca üç saniyeye ihtiyaç duydu. Hız artışları yalnızca yüksek sıkıştırma modlarına bir destek sağlamakla kalmaz, aynı zamanda NVMe veri taşıyıcıları gibi hızlı depolama sistemleri kullanıldığında da faydalıdır.
Sıkıştırma seviyelerinden bahsetmişken: LZ4 yeni bir sıkıştırma seviyesi 2 sunuyor. Bu seviyede, sıkıştırma programı standart seviye 1'den (Hızlı Sıkıştırma) biraz daha yavaş çalışıyor ancak daha güçlü bir şekilde sıkıştırıyor. Ancak, oluşturulan dosyalar daha yüksek seviye 3'teki kadar küçük değil. Bu nedenle geliştiriciler, seviye 1'den daha küçük arşivlere ihtiyaç duyduğunuzda ancak seviye 3'ü kullanırken olduğu kadar uzun süre bekleyemediğinizde seviye 2'yi öneriyor.
Sözlük Sıkıştırma
Önceki sürüm zaten sözde sözlük sıkıştırmasını destekliyordu. Bu sıkıştırma sürecinde, sıkıştırma programı yinelenen dosya içeriklerini daha kısa bir sembolle değiştirir. Araç, sözlük adı verilen bir dosyadaki karşılık gelen atamaları hatırlar. Benzer içeriklere sahip birkaç dosya bir sözlüğü paylaşıyorsa, bu sıkıştırılmış kopyaların depolama gereksinimlerini önemli ölçüde azaltabilir. Bu nedenle, bir sözlüğün kullanımı, kendileri çok iyi sıkıştırılamayan birçok küçük dosya için özellikle değerlidir.
Önceki sürümde sözlük sıkıştırma hala deneysel olarak kabul edilirken, LZ4 v1.10.0 artık süreci resmi olarak destekliyor. Özellikle programcılar, uygulamalarında herhangi bir risk almadan sözlükleri nihayet kullanabiliyor. Liblz4 kütüphanesi bu amaç için bir dizi yeni işlev sunuyor. Örneğin, “LZ4F_decompress_usingDict()” bir sözlük kullanarak birkaç veri bloğunu (sözde LZ4 çerçevesi biçiminde) açar. LZ4 ayrıca, sıkıştırma aracı Zstd'nin Dictionary Builder'ının oluşturduğu mevcut sözlüklerle de çalışabilir.
Son olarak, LZ4 loongArch, RISC-V, m68k, MIPS ve Sparc işlemci mimarilerini destekliyor ve geliştiriciler ayrıca yapı sisteminde küçük değişiklikler yaptı. Resmi duyuru tüm değişiklikleri özetliyor.
(fiil)
Reklamcılık
Çoklu iş parçacığı
LZ4 artık işini birden fazla iş parçacığına dağıtıyor. Bu, çok sayıda çekirdeğe sahip işlemcilerde hızda önemli bir artışa yol açıyor. Performanstaki sıçrama, özellikle çok fazla beyin gücüyle dosyaları küçülten (yüksek sıkıştırma modları) çok yüksek sıkıştırma seviyelerinde fark ediliyor. Geliştiricilerin kıyaslama sonuçlarına göre, yeni LZ4 sürümü selefinden sekiz kata kadar daha hızlı çalışıyor. Ekip, en büyük hız artışlarını AMD Ryzen 7 7840HS işlemci ve Windows 11'li bir test sisteminde kaydetti.
Ek olarak, G/Ç işlemleri ve sıkıştırma açma işlemleri çakışır. Bu optimizasyonla birlikte, LZ4 belirtilmemiş bir test sisteminde 5 GB'lık bir metin dosyasını açmak için beş saniye yerine yalnızca üç saniyeye ihtiyaç duydu. Hız artışları yalnızca yüksek sıkıştırma modlarına bir destek sağlamakla kalmaz, aynı zamanda NVMe veri taşıyıcıları gibi hızlı depolama sistemleri kullanıldığında da faydalıdır.
Sıkıştırma seviyelerinden bahsetmişken: LZ4 yeni bir sıkıştırma seviyesi 2 sunuyor. Bu seviyede, sıkıştırma programı standart seviye 1'den (Hızlı Sıkıştırma) biraz daha yavaş çalışıyor ancak daha güçlü bir şekilde sıkıştırıyor. Ancak, oluşturulan dosyalar daha yüksek seviye 3'teki kadar küçük değil. Bu nedenle geliştiriciler, seviye 1'den daha küçük arşivlere ihtiyaç duyduğunuzda ancak seviye 3'ü kullanırken olduğu kadar uzun süre bekleyemediğinizde seviye 2'yi öneriyor.
Sözlük Sıkıştırma
Önceki sürüm zaten sözde sözlük sıkıştırmasını destekliyordu. Bu sıkıştırma sürecinde, sıkıştırma programı yinelenen dosya içeriklerini daha kısa bir sembolle değiştirir. Araç, sözlük adı verilen bir dosyadaki karşılık gelen atamaları hatırlar. Benzer içeriklere sahip birkaç dosya bir sözlüğü paylaşıyorsa, bu sıkıştırılmış kopyaların depolama gereksinimlerini önemli ölçüde azaltabilir. Bu nedenle, bir sözlüğün kullanımı, kendileri çok iyi sıkıştırılamayan birçok küçük dosya için özellikle değerlidir.
Önceki sürümde sözlük sıkıştırma hala deneysel olarak kabul edilirken, LZ4 v1.10.0 artık süreci resmi olarak destekliyor. Özellikle programcılar, uygulamalarında herhangi bir risk almadan sözlükleri nihayet kullanabiliyor. Liblz4 kütüphanesi bu amaç için bir dizi yeni işlev sunuyor. Örneğin, “LZ4F_decompress_usingDict()” bir sözlük kullanarak birkaç veri bloğunu (sözde LZ4 çerçevesi biçiminde) açar. LZ4 ayrıca, sıkıştırma aracı Zstd'nin Dictionary Builder'ının oluşturduğu mevcut sözlüklerle de çalışabilir.
Son olarak, LZ4 loongArch, RISC-V, m68k, MIPS ve Sparc işlemci mimarilerini destekliyor ve geliştiriciler ayrıca yapı sisteminde küçük değişiklikler yaptı. Resmi duyuru tüm değişiklikleri özetliyor.
(fiil)