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
Yann Collet
f92722eea0
Merge pull request #407 from odaira/useO2ppc64le
...
Use O2 for the decompression functions on ppc64le with gcc
2017-10-13 16:21:46 -07:00
Rei Odaira
73bcf90e51
Use the optimization level of O2 for the decompression functions on ppc64le with gcc, to avoid harmful unrolling and SIMDization with O3
2017-10-13 14:53:37 -05:00
Yann Collet
34da12c6e6
Merge pull request #403 from felixhandte/lz4-cli-dict-support-tests
...
Support Dictionaries on the Command Line
2017-10-10 16:18:16 -07:00
W. Felix Handte
9a16272261
Read the Dictionary into a Circular Buffer
2017-10-09 20:18:21 -04:00
W. Felix Handte
93f8284c17
Add some tests verifying command line dictionary functionality
2017-10-09 20:18:03 -04:00
W. Felix Handte
2bd85f4199
Add Dictionary Support to the Command Line Tool
2017-10-09 20:16:00 -04: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
Yann Collet
87968517f9
fixed decoding block checksum in lz4frame
2017-10-04 15:24:08 -07:00
Yann Collet
f6b31bf0d0
fix #404
...
static analyzer `cppcheck` complains about a shift-by-32 on a 32 bits value,
which is an undefined behavior.
However, the flagged code path is never triggered in 32-bits mode,
(actually, it's not even generated if DCE kicks in),
the shift-by-32 is necessarily performed on a 64-bits value.
While it doesn't change anything regarding lz4 code generation, for both 32 and 64 bits mode,
(can be checked by md5sum on the generated binary),
the shift has been rewritten in a way which should please this static analyzer,
since it now pretends to shift by 16 on 32-bits cpu (note : it doesn't matter since the code will not even be generated in this case).
Note : this is a blind fix, the new code has not been tested with cppcheck, because cppcheck only works on Windows.
Other static analyzer, such as scan-build, do not trigger this false positive.
2017-09-30 10:35:55 -07:00
Yann Collet
ceb868f442
minor lz4frame code refactor
...
try to improve code readability.
minor optimization on condition to preserve history.
2017-09-23 15:06:24 -07:00
Yann Collet
2a9af21d62
Merge pull request #402 from felixhandte/fix-dict-segfault
...
Fix dict segfault
2017-09-23 14:02:22 -07:00