da0ka / lzoma Goto Github PK
View Code? Open in Web Editor NEWThis project forked from alef78/lzoma
experimental data compression algoritm
License: GNU General Public License v2.0
This project forked from alef78/lzoma
experimental data compression algoritm
License: GNU General Public License v2.0
Experimental packer based on new compression algoritm LZOMA). (C)2015 Alexandr Efimov <[email protected]> This code can be redistributed on GPL Version 2 License. For commercial licenses or support please contact author. Project goals: extremely fast in-place decomression (similar to LZO) but with high compression ratio (much better than LZO, ZIP, GZIP, BZIP2) Current results: Compression ratio is much higher that gzip / bzip2. And much much higher than LZO. Somewhat higher than LZHAM, that has similar goals. A bit worse than lzma/xz. Decompression speed is similar to UCL (a bit slower that LZO, faster than gzip, bzip2 etc). Decompressor code length is less than 300 bytes. Has special filter for x86 code. Decompression can be done in-place and does not require additional memory. Overall, the results a very good for "compress once, unpack often" tasks like linux kernel & ramdisk, readonly compressed filesystems. Drawbacks: Compression at maximal ratio is currently VERY slow and requires a lot of memory and full input data loaded in one chunk. It is possible to implement a very fast compressor, but at the cost of reduced compression ratio (which will be similar to UCL compression then). It may be possible to adapt lzma code to implement a reasonably fast compression, not sure how will affect compression ratio. Algorith description. Compressed format has some features similar to both LZO and LZMA. Does not use range coding. Special bit added to matches that follow literals, indicating to re-use previous offset instead of always storing the offset for each match. This allows to more efficiently compress patterns like abcdEabcdFabcdGabc, as offset will be stored only for first match. This idea allows much higher compression than classical LZ algorithms but compressor is much more complicated. Compressed data format: literal, item, ... item Where: literal is uncompressed byte aligned at byte boundary item is: 1 bit flag (literal | match) if flag is literal then literal follows if flag is match then if previous item was literal 1 bit flag==1: use previous offset for match if not use previous offset for match offset (encoded) len (encoded)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.