LZJB
LZJB er en tabsfri datakomprimeringsalgoritme opfundet af Jeff Bonwick i 1998 for at komprimere program- og datanedbrudsdumps i ZFS -filsystemet . Baseret på ordbogskomprimeringsmetoden [1] . Denne algoritme indeholder mange rettelser til LZRW1- algoritmen , som igen er en variant af LZRW , som er medlem af Lempel-Ziv- familien af kompressionsalgoritmer . Denne algoritme har til formål at øge kompressionshastigheden [2] [3] .
I 2012-2013 overvejede ZFS at erstatte LZJB med byte-orienteret LZ4 som en hurtigere metode med lidt bedre komprimering [4] [3] .
En komprimeret stream i LZJB er en byte-stream. Til markering af strømmen bruges en kontrolbyte, der beskriver typerne af de næste 8 sekvenser. Hver bit af kontrolbyten specificerer typen af et element [5] . En bit med en værdi på 0 svarer til en literal byte: en byte af den komprimerede strøm kopieres til outputstrømmen. En bit med værdien 1 betyder en ordbogsreference ("match"). De næste to bytes indeholder et 6-bit længdefelt og et 10-bit offsetfelt (LLLLLLdd dddddddd). Længdebittene afkodes til længder fra 3 til 66 bytes (længden er L+3), derefter hentes strengen, der er "offset" (d) bytes tilbage fra den aktuelle position, fra outputbufferen.
Noter
- ↑ M. A. Basir, M. H. Yousaf. Gennemsigtigt komprimeringsskema til Linux-filsystem // Nucleus. - 2012. - Bd. 49 , nr. 2 . — S. 133 . Arkiveret fra originalen den 12. februar 2017.
- ↑ Y. Rathore, M. Ahirwar, R. Pandey. En kort undersøgelse af datakomprimeringsalgoritmer // Journal of Computer Science IJCSIS. - 2013. - Oktober ( bind 11 , nr. 10 ). — S. 90 . Arkiveret fra originalen den 14. december 2018.
- ↑ 1 2 Arkiveret kopi . Hentet 17. oktober 2018. Arkiveret fra originalen 17. oktober 2018. (ubestemt)
- ↑ LZ4 Kompression - illumos - illumos wiki (utilgængeligt link) . Hentet 17. oktober 2018. Arkiveret fra originalen 9. oktober 2018. (ubestemt)
- ↑ LZJB-dekoder Arkiveret 17. oktober 2018 på Wayback Machine /Wikibooks
Links