GPLv3 migration reminder
Marc Lehmann
schmorp at schmorp.de
Wed Dec 19 02:12:34 CET 2007
On Tue, Dec 18, 2007 at 11:28:15AM +0100, Simon Josefsson <simon at josefsson.org> wrote:
> different than for file compression -- the most important factor is
> probably de-compression speed and memory footprint. LZO claims to have
> good properties here. How does lzf stand?
Much faster and much less memory used (for compression, just the
hashtable, for decompression no extra memory is required except for
input and output buffers and the code is very small), except when lzo
offers a pure assembly implementation (liblzf has a similar but simpler
representation, but is only available as portable C code).
Of course, compressed size is larger for liblzf than for about any lzo
mode, but thats the trade-off.
For example, a tar of my /bin (10506240 bytes), compression, on my amd64:
time lzop -1 <x.tar |wc -c
6329754
user 0m0.204s
time lzf <x.tar |wc -c
6714002
user 0m0.132s
decompression:
lzop: 0m0.056s
lzf: 0m0.048s
this is not a very good test, as buffering and other things only the
commandline tools do have quite some overhead, but gives a rough
indication.
lzf is tunable for speed and compression in various ways, the above is the
default (medium speed).
lzf is especially nice for repeated compressions (its not a stream
compressor), as it doesn't need to set up its internal state.
> It would be interesting to run tests on a few different compression
> libraries to see how they compare for network compression...
Every benchmark is always sooo surprising :->
What is not clear to me is how gnutls would use liblzf, purely as
in-memory cache, or would it also use it for network traffic (in which
case, wouldn't it have to support lzo for backwards compatibility, and
would it then not just be able to talk to itself?)
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / pcg at goof.com
-=====/_/_//_/\_,_/ /_/\_\
More information about the Gnutls-devel
mailing list