Commit Graph

1651 Commits

Author SHA1 Message Date
Yann Collet
263e398a52
Merge pull request #417 from sylvestre/dev
When building with a C++ compiler, remove the 'register' keyword to silent a warning
2017-11-06 13:56:44 -08:00
Sylvestre Ledru
4fed595dac Only ignore with C++17 2017-11-06 16:16:02 +01:00
Sylvestre Ledru
cca7618f09 When building with a C++ compiler, remove the 'register' keyword to silent a warning
For example, with clang:

lz4.c:XXX:36: error: 'register' storage class specifier is deprecated and incompatible with C++17 [-Werror,-Wdeprecated-register]
static unsigned LZ4_NbCommonBytes (register reg_t val)
                                   ^~~~~~~~~
2017-11-05 11:48:03 +01:00
Yann Collet
aa99163752 fixed minor static analyzer warning
dead assignment
2017-11-03 12:33:55 -07:00
Yann Collet
89821ac7a1 minor comment edit 2017-11-03 11:49:56 -07:00
Yann Collet
1025546347 unified HC levels
LZ4_setCompressionLevel() can be users accross the whole range of HC levels
No more transition issue between Optimal and HC modes
2017-11-03 11:28:28 -07:00
Yann Collet
a1f4a0d983 moved ctx->end handling from parsers
responsibility better handled one layer above (LZ4HC_compress_generic())
2017-11-03 10:48:55 -07:00
Yann Collet
c9bbad53ff removed ctx->searchNum
nbSearches now transmitted directly as function parameter
easier to track and debug
2017-11-03 10:30:52 -07:00
Yann Collet
e2eca62046 LZ4_compress_HC_continue_destSize() now compatible with optimal parser
levels 11+
2017-11-03 02:03:19 -07:00
Yann Collet
3b222d2d96 removes matches[] table
saves stack space
clearer match finder interface (no more table to fill)
2017-11-03 01:37:43 -07:00
Yann Collet
320e1d51ac removed useless parameter from hash chain matchfinder
used to be present for compatibility with binary tree matchfinder
2017-11-03 01:20:30 -07:00
Yann Collet
81667a1e96 removed code and reference to binary tree match finder
reduced size of LZ4HC state
2017-11-03 01:18:12 -07:00
Yann Collet
82c1aed419 improved level 11 speed 2017-11-03 00:59:05 -07:00
Yann Collet
890c0553d0 optimized skip strategy for level 12 2017-11-03 00:15:52 -07:00
Yann Collet
05d78eb817 new level 11 uses 512 attempts 2017-11-02 19:50:08 -07:00
Yann Collet
a1c5343d89 more generic skip formula
improving speed
2017-11-02 18:54:18 -07:00
Yann Collet
e06cb03c11 small adaptations for intermediate level 11 2017-11-02 16:25:10 -07:00
Yann Collet
4b81885800 partial search, while preserving compression ratio
tag interesting places
2017-11-02 15:37:18 -07:00
Yann Collet
bd992f12e4 searching match leading strictly farther does not work
sometimes, it's better to re-use same match but start it later,
in order to get shorter matchlength code
2017-11-02 15:05:45 -07:00
Yann Collet
8e16eb0cd1 fixed last lost bytes in maximal mode
even gained 2 bytes on calgary.tar...
added conditional traces `g_debuglog_enable`
2017-11-02 14:53:06 -07:00
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
cc4a109b0d
Merge pull request #415 from lz4/fasterDecodingXp
Faster decoding xp
2017-11-01 09:58:49 -07:00
Yann Collet
15b0d229c1 Merge branch 'dev' into btopt 2017-10-31 17:55:01 -07:00
Yann Collet
a5731d6b26 minor change, to help store forwarding
in a marginal case (offset==4)
2017-10-31 15:51:56 -07:00
Yann Collet
9378f76e41 extended shortcut match length to 18 2017-10-31 14:20:25 -07:00
Yann Collet
07c91d9dba
Merge pull request #408 from terrelln/time
[bench] Use higher resolution timer on POSIX
2017-10-31 13:49:29 -07:00
Yann Collet
ace334a4c9 minor : coding style : use ML_MASK constant 2017-10-31 12:22:15 -07:00
Yann Collet
3f173052ae added comments, as suggested by @terrelln 2017-10-31 11:49:57 -07:00
Yann Collet
931c5c20d0 fixed minor overflow mistake in optimal parser
saving 20 bytes on calgary.tar
2017-10-30 17:47:54 -07:00
Yann Collet
ab4bd93f59 fixed minor initialization warning 2017-10-30 16:10:25 -07:00
Yann Collet
e0914ff70c more complete shortcut - passes tests 2017-10-30 16:07:15 -07:00
Yann Collet
8470d5082d
Merge pull request #412 from mikir/symbolsVisibility
Separated visibility from LZ4LIB_API macro.
2017-10-30 15:57:43 -07:00
mikir
63a7f34fee
Separated visibility from LZ4LIB_API macro. 2017-10-30 13:44:24 +01:00
Yann Collet
a31b7058cb small modification of lz4 decoder to shortcut common case (short branch). 2017-10-25 10:10:53 +02: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
fd6bd5107b switched many types to int 2017-10-20 15:33:52 -07:00
Yann Collet
d813134619 removed SET_PRICE macro 2017-10-20 13:44:49 -07:00
Yann Collet
fa064c8a8c removed one macro usage 2017-10-20 13:32:45 -07:00
Yann Collet
ee62faee08 minor refactor
reduce variable scope
remove one macro usage
2017-10-20 12:05:00 -07:00
Yann Collet
fc879fe170 lz4opt: refactor sequence reverse traversal 2017-10-20 11:32:15 -07:00
Yann Collet
c058753393 refactor variable matchnum
separate initial and iterative search
renamed nb_matches
2017-10-20 11:24:56 -07:00
Yann Collet
7bb0a617ee simplified initial cost conditions
llen integrated in opt[]
2017-10-20 11:00:10 -07:00
Yann Collet
6cec68de39 added assert 2017-10-19 16:47:25 -07:00
Yann Collet
ac2ad52257 renamed last_pos into last_match_pos 2017-10-19 16:43:36 -07:00
Yann Collet
708e2cbb60 simplified early exit when single solution 2017-10-19 16:39:40 -07:00
Nick Terrell
74d8688bc8 [bench] Use higher resolution timer on POSIX
The timer used was only accurate up to 0.01 seconds. This timer is accurate up to 1 ns.
It is a monotonic timer that measures the real time difference, not on CPU time.

Copied the benchmark code from 6ab4d5e904
2017-10-17 13:55:35 -07:00
Yann Collet
dccf8826f1 lz4cli : minor rewrite of lz4c legacy commands
for clarity
2017-10-14 23:50:07 -07:00
Yann Collet
1aa997b594 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2017-10-14 18:49:06 -07:00
Yann Collet
2d827e1b28 lz4cli : removed extension artefacts
It used to be useful for an old Windows variant which is no longer maintained.
2017-10-14 18:48:00 -07:00