Firma Apple uwolniła kod LZFSE, bezstratnego algorytmu do kompresji danych, używanego w systemach iOS 9 i OS X 10.11. Jest to duże zaskoczenie dla społeczności, jako że firma słynie bardzo z zamkniętych rozwiązań oraz bronienia swojej własności intelektualnej. Nie mniej jednak co jakiś czas postanawia dać cząstkę tego, co wypracowała światu. Takim ostatnim wielkim uwolnieniem okazał się język programowania Swift, który jest następcą Objective-C. Algorytm LZFSE oferuje taki sam poziom kompresji, jak Zlib Level 5, ale jest 2 – 3 krotnie szybszy, dzięki metodzie strumieniowej bezstratnej kompresji słownikowej przy użyciu kodowania Finite State Entropy. Dekompresja jest także szybsza, niż zlib.
Tego nowego kodowania (Finite State Entropy) też używa bardzo ciekawy kompresor ZSTD:
https://github.com/Cyan4973/zstd
„ostatnim wielkim uwolnieniem okazał się język programowania Swift, który jest następcą Objective-C”
Czy te języki mają sens poza infrastrukturą Apple? Tj, jest instalka Swifta na Linuksy, Objective-C/C++ jest od lat w GCC, jest GnuStep… Ale nie kojarzę żadnego popularnego projektu pisanego w tych językach na systemy inne niż Apple’owe…
Co innego architektura LLVM – to bezsprzecznie jest wielki wkład Apple w środowisko open-source i jest coraz szerzej i chętniej stosowany (rdzeń FreeBSD zarzucił GCC i przeniósł się na LLVM/Clang)
To samo się tyczy LZFSE – wspomniany open-source ZSTD wypada nieporównywalnie lepiej we wszelkich benchmarkach, jego autor (Yann Collet) wcześniej napisał powszechnie używany (też przez Apple) kompresor LZ4, a obecnie pracuje w Facebooku.
Jednak Apple prawdopodobnie pozostanie przy LZFSE – tutaj jest ciekawy argument: https://www.phoronix.com/forums/forum/software/general-linux-open-source/883042-apple-opened-up-its-lzfse-compression-library/page2
Facebook oficjalnie ogłosił ZSTD (Zstandard): https://www.google.pl/search?q=zstandard&tbm=nws