Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
LZMA
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== 7-Zip reference implementation == The LZMA implementation extracted from [[7-Zip]] is available as LZMA SDK. It was originally dual-licensed under both the [[GNU Lesser General Public License|GNU LGPL]] and [[Common Public License]],<ref>{{cite web | url = http://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/4.23/ | title = Browse /LZMA SDK/4.23 | access-date = 2014-02-12 | publisher = [[SourceForge]]}}</ref> with an additional special exception for linked binaries, but was placed by [[Igor Pavlov (programmer)|Igor Pavlov]] in the [[public domain]] on December 2, 2008, with the release of version 4.62.<ref name="LZMA_SDK"/> LZMA2 compression, which is an improved version of LZMA,<ref>{{cite web | url=http://www.jrsoftware.org/ishelp/index.php?topic=setup_compression | title=Inno Setup Help | quote=LZMA2 is a modified version of LZMA that offers a better compression ratio for uncompressible data (random data expands about 0.005%, compared to 1.35% with original LZMA), and optionally can compress multiple parts of large files in parallel, greatly increasing compression speed but with a possible reduction in compression ratio. | publisher=jrsoftware.org | access-date=2013-06-16}}</ref> is now the default compression method for the .7z format, starting with version 9.30 on October 26, 2012.<ref>{{cite web | url=http://www.7-zip.org/history.txt | title=HISTORY of the 7-Zip | date=2012-10-26 | access-date=2013-06-16 }}</ref> The reference [[Open-source license|open source]] LZMA compression library was originally written in [[C++]] but has been ported to [[C (programming language)|ANSI C]], [[C Sharp (programming language)|C#]], and [[Java (programming language)|Java]].<ref name="LZMA_SDK" /> There are also third-party [[Python (programming language)|Python]] bindings for the C++ library,<ref>{{cite web | url=http://www.joachim-bauch.de/projects/pylzma/ | title=PyLZMA β Platform independent python bindings for the LZMA compression library. | first=Joachim | last=Bauch | date=2010-04-07 | access-date=2013-06-16}}</ref> as well as ports of LZMA to [[Pascal (programming language)|Pascal]],<ref>{{cite web | url=http://www.birtles.org.uk/programming | title=Programming Help: Pascal LZMA SDK | date=2006-06-13 | first=Alan | last=Birtles | access-date=2013-06-16 }}</ref> [[Go (programming language)|Go]]<ref> {{cite web |url = http://lzma.googlecode.com/ |archive-url = http://webarchive.loc.gov/all/20160921065754/http://lzma.googlecode.com/ |url-status = dead |archive-date = 2016-09-21 |title = compress/lzma package for Go 1 |first = Andrei |last = Vieru |date = 2012-06-28 |access-date = 2013-06-16 }}</ref> and [[Ada (programming language)|Ada]].<ref>{{cite web | url=http://unzip-ada.sourceforge.net/ | title=Zip-Ada}}</ref> The 7-Zip implementation uses several variants of [[hash chain]]s, [[binary tree]]s and [[Patricia tree]]s as the basis for its dictionary search algorithm. In addition to LZMA, the SDK and 7-Zip also implements multiple [[7z#Pre-processing filters|preprocessing filter]]s intended to improve compression, ranging from simple [[delta encoding]] (for images) and BCJ for executable code. It also provides some other compression algorithms used in 7z. Decompression-only code for LZMA generally compiles to around 5 KB, and the amount of RAM required during decompression is principally determined by the size of the [[sliding window]] used during compression. Small code size and relatively low memory overhead, particularly with smaller dictionary lengths, and free source code make the LZMA decompression algorithm well-suited to [[Embedded system|embedded]] applications.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)