Commit Graph

171 Commits

Author SHA1 Message Date
Yann Collet
0ff4df1b94 changed strategy : opt[] path is complete after each match
previous strategy would leave a few "bad choices"
on the ground they would be fixed later,
but that requires passing through each position to make the fix
and cannot give the end position of the last useful match.
2017-11-02 13:44:57 -07:00
Yann Collet
16a4337473 added hash chain with conditional length
not a success yet
2017-10-25 07:07:08 +02:00
Yann Collet
a12cdf00c3 lz4opt: added hash chain search 2017-10-20 17:04:29 -07:00
Yann Collet
a4314829db fused getLongerMatch and getWiderMatch 2017-10-09 01:50:28 -07:00
Yann Collet
97c18f5f0e re-inserted last byte test in widerMatch 2017-10-09 01:44:05 -07:00
Yann Collet
bdca63ed69 early out is not better 2017-10-09 00:36:47 -07:00
Yann Collet
1ee17e4eb8 optional fuse 2017-10-09 00:31:12 -07:00
Yann Collet
b9459faeb2 improved search of rep-1 patterns 2017-10-08 23:55:42 -07:00
Yann Collet
f1fa91d6fc insertAndFindBestMatch defers to insertAndGetWiderMatch 2017-10-08 23:40:21 -07:00
tcpan
f423d016cf FIX: added prefix to FORCE_INLINE to prevent redefinition error during compilation when used with other libraries that define FORCE_INLINE 2017-08-24 10:14:20 -04:00
Yann Collet
d8aafe2c52 dictionary compression correctly uses compression level
Not obvious : copying the state was copying cdict's compression level
2017-08-10 00:48:19 -07:00
Yann Collet
31f2cdf4d2 implemented dictionary compression in lz4frame
note : only compression API is implemented and tested
still to do : decompression API
2017-08-09 16:51:19 -07:00
Chocobo1
a4ec7fa7b7 Fix gcc7 Wimplicit-fallthrough warnings
For the default Wimplicit-fallthrough=3 level,
the comment should start with "fall*"
2017-06-19 13:57:35 +08:00
Yann Collet
89b9f026c9 made level 10 a bit faster
at the expense of a little bit of compression ratio.

Now speed is intermediate on calgary corpus :
25 - 12 - 8 - 3
2017-06-13 17:25:29 -07:00
Yann Collet
1efa48831e minor readability changes 2017-05-02 12:01:13 -07:00
Alexey Tourbin
6cf1f7d758 lz4hc.c: clamp compression levels > 12
I noticed that, while 'lz4 -12' works fine, 'lz4 -13' does not compress
at all.

$ cat </etc/passwd |wc -c
2565
$ lz4 -12 </etc/passwd |wc -c
1456
$ lz4 -13 </etc/passwd |wc -c
2584

Perhaps the best way to fix this is to clamp the compression level
in the LZ4HC_compress_generic routine.
2017-04-29 16:33:15 +03:00
Yann Collet
60b6d2907f improved level 10 speed for degenerated cases 2017-03-24 11:29:35 -07:00
Yann Collet
b8bc70022b minor refactor 2017-03-20 05:04:12 -07:00
Yann Collet
aae447fffd LZ4_compress_HC_continue_destSize() works as intended up to level 10
It's incompatible with btopt though,
so cLevel >= 11 feature much reduced performance (degraded mode)
2017-03-16 15:41:30 -07:00
Yann Collet
cd35f0d98c LZ4_compress_HC_destSize() uses LZ4HC_compress_generic() code path
Limits compression level to 10,
to remain compatible with Hash Chain.
2017-03-16 15:10:38 -07:00
Yann Collet
430b7d32b3 created LZ4_HC_STATIC_LINKING_ONLY section
where are exposed new prototypes *_destSize()
2017-03-16 02:16:24 -07:00
remittor
36842ebb19 lz4hc: Fix LZ4HC_compress_hashChain for backward compatibility 2017-03-09 12:19:24 +03:00
remittor
baa155088b lz4hc: Fix LZ4HC_compress_hashChain for full support destSize variant 2017-03-08 18:49:55 +03:00
remittor
f007153e3f lz4hc: Add LZ4_compressHC_destSize and LZ4_compress_HC_continue_destSize 2017-03-08 11:11:15 +03:00
remittor
45b592b7ec lz4hc: Cleanup function LZ4HC_encodeSequence 2017-03-08 00:30:54 +03:00
remittor
534f8fa5d6 lz4hc: Cleanup function LZ4HC_compress_hashChain 2017-03-07 17:11:48 +03:00
Przemyslaw Skibinski
312d88249f removed nextToUpdateBT 2016-12-28 15:38:59 +01:00
Przemyslaw Skibinski
3d5bb38977 clean logging 2016-12-28 15:37:12 +01:00
Przemyslaw Skibinski
1c80b9af4e LZ4HC_getSearchNum 2016-12-28 15:18:19 +01:00
Przemyslaw Skibinski
12aae846b3 fixed table update in LZ4_loadDictHC 2016-12-28 13:19:11 +01:00
Przemyslaw Skibinski
c8b31263cc added FUZ_CLEVEL_DEFAULT 2016-12-28 13:08:38 +01:00
Yann Collet
52cac9a973 updated a few macros names 2016-12-22 11:41:05 +01:00
Przemyslaw Skibinski
4f050b68d8 tree update dependent from compression level 2016-12-09 18:17:46 +01:00
Przemyslaw Skibinski
838ed341f9 fullUpdate as a parameter 2016-12-09 17:16:35 +01:00
Przemyslaw Skibinski
a22e71d4a9 full binary tree update 2016-12-09 12:37:17 +01:00
Przemyslaw Skibinski
1833be1cf0 fixed gcc warnings 2016-12-07 12:59:05 +01:00
Przemyslaw Skibinski
77b051ed7b improve code formatting 2016-12-07 12:17:24 +01:00
Przemyslaw Skibinski
e3fee94742 LZ4HC_MAX_CLEVEL = 12 2016-12-07 12:16:33 +01:00
Przemyslaw Skibinski
757ef1d5fc removed LZ4HC_GetAllMatches 2016-12-07 11:44:17 +01:00
Przemyslaw Skibinski
2113ead176 17-bit LZ4HC_MAXD 2016-12-06 19:11:53 +01:00
Przemyslaw Skibinski
c1ef7a177f introduced LZ4HC_compress_hashChain 2016-12-06 15:21:28 +01:00
Yann Collet
8b233b228d added a few dates 2016-11-21 15:51:39 -08:00
Yann Collet
84b97f90b8 fuzzer code refactoring
fix g++ conversion warning
2016-11-12 17:14:57 -08:00
Yann Collet
94542d8458 made lz4hc explicitly dependent on lz4 2016-11-12 15:50:29 -08:00
Yann Collet
874f3e095b update code comments 2016-11-12 07:29:54 -08:00
Nick Terrell
85aeb0e4bb Expose internal types to remove strict aliasing 2016-11-11 13:00:02 -08:00
Yann Collet
c7ab95faa5 slightly improved HC compression ratio 2016-11-07 19:32:24 -08:00
Yann Collet
258a5e7fa4 updated comments 2016-11-03 17:14:25 -07:00
Przemyslaw Skibinski
84cedb4632 updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
Yann Collet
64f556e610 lz4cli version number from lz4.h 2016-09-02 19:32:06 -07:00
Yann Collet
5871585b6a coding style change 2016-09-02 19:06:01 -07:00
inikep
2cf32ef0f1 -b# and -e# options from zstd 2016-09-02 22:59:18 +02:00
Yann Collet
2c80138121 heapmode macro option for lz4hc 2015-10-21 15:00:48 +01:00
Yann Collet
aa1350e139 lz4hc : added one malloc test 2015-06-28 19:51:11 -08:00
Yann Collet
1c3e633c48 Added compilation flag -Wcast-qual 2015-05-06 01:58:24 +01:00
Yann Collet
e05088d0eb Updated lz4hc API 2015-05-03 20:57:21 +01:00
Yann Collet
2a974d73c3 refactored lz4hc 2015-05-02 15:44:43 +01:00
Yann Collet
d6dc0a410d streaming API : Improved ring buffer management 2015-04-24 10:15:12 +01:00
Yann Collet
b805d581b9 Removed obsolete functions from lz4 cli 2015-04-21 19:07:31 +01:00
Yann Collet
81fdd9df23 Fixed a few Valgrind warnings 2015-04-12 09:29:52 +01:00
Yann Collet
be9d248851 Update lz4hc API : LZ4_compressHC_safe() 2015-04-11 12:28:09 +01:00
Yann Collet
002ec60f0f restored lz4hc compression ratio 2015-03-30 15:57:26 +01:00
Yann Collet
a357f434f0 Fixed cast-align warnings on 32-bits 2015-03-25 18:06:40 +01:00
Yann Collet
45a357fd17 Improved sparse file support 2015-03-13 02:24:08 +01:00
Yann Collet
f68eead36c Added : -pedantic compilation option 2014-12-17 12:32:49 +01:00
Yann Collet
8a9fb8cf32 Fixed : older compiler don't like nameless unions, reported by Cheyi Lin 2014-12-16 22:03:16 +01:00
Yann Collet
95cc6cef64 Fixed : bug within LZ4 HC streaming mode, reported by James Boyle 2014-12-16 02:13:19 +01:00
Yann Collet
c5decf7562 minor refactoring 2014-12-06 17:10:54 +01:00
Yann Collet
b827ecf728 Clarified a few comments 2014-12-03 23:19:11 +01:00
Yann Collet
65ee6b09c4 Fixed : deprecated function LZ4_slideInputBufferHC() 2014-12-03 19:17:10 +01:00
Yann Collet
d008c87151 New directory structure : library source files into /lib directory 2014-11-30 23:32:12 +01:00