|
|
1 | |
|
|
2 | TODO: try unaligned copy again in decompressor |
|
|
3 | TODO: allow size-optimised binaries by avoiding unrolling |
|
|
4 | |
|
|
5 | - switch to a multiplicative hash (developed with Steinar Gunderson), |
|
|
6 | which is faster on modern cpus and compresses a bit better. The old |
|
|
7 | hash function which uses only shifts is still available. |
|
|
8 | - allow user configurable hash table slots, which makes it possible |
|
|
9 | to use e.g. 16 bit offsets for a smaller hashtable (if your data is |
|
|
10 | always < 64kb). |
|
|
11 | - use _WIN32, not WIN32, when testing for windows (fails with bcc), |
|
|
12 | patch by Tamas Tevesz. |
|
|
13 | - try to port to win64+gcc, which is non-posix but has not _int64 |
|
|
14 | (reported by Maciej Adamczyk). |
|
|
15 | |
|
|
16 | 3.6 Mon Feb 7 17:37:31 CET 2011 |
|
|
17 | - fixed hash calculation in C♯ version (Tiago Freitas Leal). |
|
|
18 | - unroll copy for small sizes, use memcpy for larger sizes, |
|
|
19 | greatly speeding up decompression in most cases. |
|
|
20 | - finally disable rep movsb - it's a big loss on modern intel cpus, |
|
|
21 | and only a small win on amd cpus. |
|
|
22 | - improve C++ compatibility of the code. |
|
|
23 | - slightly improve compressor speed. |
|
|
24 | - halved memory requirements for compressor on 64 bit architectures, |
|
|
25 | which can improve the speed quite a bit on older cpus. |
|
|
26 | |
|
|
27 | 3.5 Fri May 1 02:28:42 CEST 2009 |
|
|
28 | - lzf_compress did sometimes write one octet past the given output |
|
|
29 | buffer (analyzed and nice testcase by Salvatore Sanfilippo). |
|
|
30 | |
|
|
31 | 3.4 Tue Sep 2 06:45:00 CEST 2008 |
|
|
32 | - the fix from 3.3 introduced a compression bug, which is fixed in |
|
|
33 | this release (which explains the mysterious prerelease...). Thanks |
|
|
34 | once more to Clément Calmels. |
|
|
35 | |
|
|
36 | 3.3 Mon Aug 25 03:17:42 CEST 2008 |
|
|
37 | - lzf_compress could access memory after the given input buffer |
|
|
38 | when outputting back references. reported with nice testcase |
|
|
39 | by Clément Calmels. |
|
|
40 | |
|
|
41 | 3.2 Fri May 9 18:52:23 CEST 2008 |
|
|
42 | - include a workaround for failing POSIX and real-world compliance |
|
|
43 | on 64 bit windows (microsoft claims to support POSIX, but is far |
|
|
44 | from it). (bug found and analysed nicely by John Lilley). |
|
|
45 | |
|
|
46 | 3.1 Fri Nov 30 11:33:04 CET 2007 |
|
|
47 | - IMPORTANT BUGFIX: a too long final literal run would corrupt data |
|
|
48 | in the encoder (this was introduced in 3.0 only, earlier versions |
|
|
49 | are safe). |
|
|
50 | |
|
|
51 | 3.0 Tue Nov 13 22:13:09 CET 2007 |
|
|
52 | - switched to 2-clause bsd with "GPL v2 or any later version" option. |
|
|
53 | - speed up compression by ~10-15% in common cases |
|
|
54 | by some manual unrolling. |
|
|
55 | - import some compiler tricks from JSON::XS, for further speed-ups. |
|
|
56 | - tune hash functions depending on ULTRA_FAST or VERY_FAST settings. |
|
|
57 | - for typical binary data (e.g. /bin/bash, memory dumps, |
|
|
58 | canterbury corpus etc.), speed is now comparable to fastlz, but |
|
|
59 | with better compression ratio. with ULTRA_FAST, it's typically |
|
|
60 | 3-15% faster than fastlz while still maintaining a similar ratio. |
|
|
61 | (amd64 and core 2 duo, ymmv). thanks a lot for the competition :) |
|
|
62 | - undo inline assembly in compressor, it is no longer helpful. |
|
|
63 | - no changes to the decompressor. |
|
|
64 | - use a HLOG of 16 by default now (formerly 15). |
|
|
65 | |
1 | 2.1 Fri Nov 2 13:34:42 CET 2007 |
66 | 2.1 Fri Nov 2 13:34:42 CET 2007 |
|
|
67 | - switched to a 2-clause bsd license with GPL exception. |
2 | - get rid of memcpy. |
68 | - get rid of memcpy. |
3 | - tentatively use rep movsb on x86 and x86_64 (gcc only) for a |
69 | - tentatively use rep movsb on x86 and x86_64 (gcc only) for a |
4 | moderate speed improvement. |
70 | moderate speed improvement. |
5 | - applied patch by Kein-Hong Man to maske lzf.c compile under |
71 | - applied patch by Kein-Hong Man to maske lzf.c compile under |
6 | the crippled mingw32 environment. |
72 | the crippled mingw32 environment. |
… | |
… | |
26 | - default HLOG size is now 15 (cpu caches have increased). |
92 | - default HLOG size is now 15 (cpu caches have increased). |
27 | - documentation fixes. |
93 | - documentation fixes. |
28 | |
94 | |
29 | 1.51 Thu Apr 14 22:15:46 CEST 2005 |
95 | 1.51 Thu Apr 14 22:15:46 CEST 2005 |
30 | - incorporated C♯ implementation of both the en- and decoder, |
96 | - incorporated C♯ implementation of both the en- and decoder, |
31 | written by "Oren J. Maurice <oymaurice@hazorea.org.il>". |
97 | written by "Oren J. Maurice". |
32 | You can find it in the cs/ subdirectory. |
98 | You can find it in the cs/ subdirectory. |
33 | - make FRST, NEXT IDX overridable if lzf_c.c is directly included |
99 | - make FRST, NEXT IDX overridable if lzf_c.c is directly included |
34 | in the code. |
100 | in the code. |
35 | |
101 | |
36 | 1.5 Tue Mar 8 20:23:23 CET 2005 |
102 | 1.5 Tue Mar 8 20:23:23 CET 2005 |