Kütüphanenin ve platformlar arası konsol yardımcı programının 0.8.0 sürümü yayınlandı. ZXC (github.com)yüksek performanslı çoklu iş parçacığı uygulamasını hayata geçirmek asimetrik sıkıştırma Oyun varlıkları, donanım yazılımları ve uygulama paketleri için kayıpsız ve optimize edilmiştir.
ARM64 üzerinde LZ4'ten %40'tan fazla daha hızlı ve daha iyi sıkıştırma oranlarına sahip olduğu iddia ediliyor.
Proje C dilinde yazılmıştır ve BSD 3 lisansı altında dağıtılmaktadır.
Değişikliklerin listesi:
- Biçim sürümü artık 5, bu da uyumluluğu bozuyor:
- Olası sıfır ofset saldırı vektörlerini ortadan kaldırmak için format düzeyinde LZ(+1) ofseti uygulandı.
- Başlık sağlama toplamları artık Marsaglia xorshift algoritmasını kullanıyor.
- Yeni LZ77 karma algoritması stratejisi ve karma tablo yapılandırma optimizasyonları, özellikle yüksek sıkıştırma seviyelerinde, çeşitli mimarilerde önemli performans iyileştirmeleri sağlıyor.
- Sıkıştırma seviyeleri 3-5 için önemli iyileştirmeler kaydedildi ve hem x86_64 hem de ARM64 mimarilerinde sıkıştırma hızında %33-43 oranında artış görüldü.
- Daha hızlı sıkıştırma seviyelerinde (1 ve 2) gözle görülür iyileştirmeler mevcut; x86_64'te %10-18, ARM64'te ise ~%8-10 hız artışı sağlandı.
- Hata yönetimi ve kodları yeniden düzenlendi. Python sarmalayıcısı artık daha gelişmiş ve yerel hata raporlaması sağlamak için bu C hata sabitlerine erişim imkanı sunuyor.
- ZXC_BLOCK_SIZE boyutu artık 1 MB ile sınırlı değil. ZXC dosya formatı artık resmi olarak 8 MB'a kadar blok boyutlarını destekliyor.
- Konsol yardımcı programına çoklu dosya işleme modu eklendi: -m (veya --multiple) seçeneği, tek bir komutla birden fazla giriş dosyasını işlemenizi sağlar. Her dosya bağımsız olarak işlenir ve çıktı dosya adları otomatik olarak giriş dosyalarından türetilir (örneğin, file.txt dosyası file.txt.xc olarak sıkıştırılır ve file.txt.xc dosyası file.txt olarak açılır).
- Konsol yardımcı programının ayrıca özyinelemeli dizin işleme modu da vardır: -r (veya --recursive) seçeneği, belirtilen dizinlerdeki ve alt dizinlerindeki tüm dosyaları işlemenizi sağlar.
- Diğer iyileştirmeler (dokümantasyon, test) ve hata düzeltmeleri.
- 0.8.1 sürümünde, yalnızca dinamik kütüphane libzxc.so.1'in oluşturulması düzeltildi ve böylece kütüphanenin önceki sürümlerinin kullanılabilmesi sağlandı.
Kaynak: linux.org.ru
