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