Commit Graph

1428 Commits

Author SHA1 Message Date
Yann Collet
506ae9c333
Merge pull request #439 from eli-b/doc-nohup-behavior
Docs: describe behavior under nohup
2018-01-02 00:19:59 +01:00
Yann Collet
c19d12d11e
Merge pull request #438 from eli-b/grammar-fix
Grammar: "to silent" -> "to silence"
2018-01-02 00:17:57 +01:00
Eli Boyarski
329dcd4765
Docs: describe behavior under nohup 2018-01-01 15:38:48 +02:00
Eli Boyarski
c8411ea880
Grammar: "to silent" -> "to silence" 2018-01-01 14:15:31 +02:00
Yann Collet
8a9c8e7324
Merge pull request #431 from lz4/newopt
new level 10
2017-12-21 09:46:25 +01:00
Yann Collet
55da545e7a new level 10
lz4opt is only competitive vs lz4hc level 10.
Below that level, it doesn't match the speed / compression effectiveness of regular hc parser.

This patch propose to extend lz4opt to levels 10-12.
The new level 10 tend to compress a bit better and a bit faster than previous one (mileage vary depending on file)

The only downside is that `limitedDestSize` mode is now limited to max level 9 (vs 10),
since it's only compatible with regular HC parser.
(Note : I suspect it's possible to convert lz4opt to support it too, but haven't spent time into it).
2017-12-20 14:14:01 +01:00
Yann Collet
ec93bb127f
Merge pull request #427 from lz4/registerLess
remove `register` keyword
2017-12-15 14:46:00 -08:00
Yann Collet
4e225165d8
Merge pull request #424 from MaxRis/msbuild-properties-#423
Msbuild properties #423
2017-12-11 10:07:03 -08:00
Max Risuhin
9be9573533 EnableWholeProgramOptimization and UseStaticCRT msbuild custom properties 2017-12-11 14:57:19 +02:00
Yann Collet
6bbe45e1b8 remove register keyword
deprecated in newer C++ versions,
and dubious utility
2017-12-04 17:10:23 -08:00
Yann Collet
de49c5bed9
Merge pull request #426 from aliceatlas/cli_chmod_fix
Fix cli sometimes calling UTIL_setFileStat on /dev/null
2017-12-04 14:38:00 -08:00
Alice Atlas
42a31aee50 Fix bug which could sometimes result in the lz4 cli chmodding /dev/null if running as root 2017-12-04 16:07:31 -05:00
Yann Collet
6c94c94d46 minor updates to examples
see 810e2ca27b (commitcomment-25810887)
2017-11-24 17:18:46 -08:00
Yann Collet
da8bed4b01 API : changed a few variables' names for clarity
updated relevant doc.
This patch has no impact on ABI/API, nor on binary generation.
2017-11-20 10:27:05 -08:00
Yann Collet
b48839b41c updated NEWS 2017-11-13 15:54:55 -08:00
Yann Collet
dac26084a9
Merge pull request #416 from lz4/newopt
Improve Optimal parser
2017-11-09 14:13:30 -08:00
Yann Collet
dc3ed5b6a7 added code comments 2017-11-08 17:56:20 -08:00
Yann Collet
63f6039fb3 added constant TRAILING_LITERALS
which is more explicit than its value `3`.
reported by @terrelln
2017-11-08 17:47:24 -08:00
Yann Collet
f93b595718 lz4opt: simplified match finder invocation to LZ4HC_FindLongerMatch() 2017-11-08 17:11:51 -08:00
Yann Collet
fa03a9d3d9 added code comments 2017-11-08 08:42:59 -08:00
Yann Collet
b07d36245a fixed LZ4HC_reverseCountPattern()
for multi-bytes patterns
(which is not useful for the time being)
2017-11-07 17:58:59 -08:00
Yann Collet
897f5e9834 removed the ip++ at the beginning of block
The first byte used to be skipped
to avoid a infinite self-comparison.
This is no longer necessary, since init() ensures that index starts at 64K.

The first byte is also useless to search when each block is independent,
but it's no longer the case when blocks are linked.

Removing the first-byte-skip saves
about 10 bytes / MB on files compressed with -BD4 (linked blocks 64Kb),
which feels correct as each MB has 16 blocks of 64KB.
2017-11-07 17:37:31 -08:00
Yann Collet
e6365b1854
Merge pull request #418 from lz4/fasterCount
faster LZ4_count()
2017-11-07 12:09:32 -08:00
Yann Collet
71fd08c17d removed legacy version of LZ4HC_InsertAndFindBestMatch() 2017-11-07 11:33:40 -08:00
Yann Collet
c49f66f2ad ensure pattern is a 1-byte repetition 2017-11-07 11:29:28 -08:00
Yann Collet
5512a5f1a9 removed useless (1 && ...) condition
as reported by @terrelln
2017-11-07 11:22:57 -08:00
Yann Collet
7130bfe573 improved LZ4HC_reverseCountPattern() :
works for any repetitive pattern of length 1, 2 or 4 (but not 3!)
works for any endianess
2017-11-07 11:05:48 -08:00
Yann Collet
a004c1fbee fixed LZ4HC_countPattern()
- works with byte values other than `0`
- works for any repetitive pattern of length 1, 2 or 4 (but not 3!)
- works for little and big endian systems
- preserve speed of previous implementation
2017-11-07 10:53:29 -08:00
Yann Collet
9221419c6f added LZ4_FORCEINLINE to counter gcc regression
as recommended by @terrelln
2017-11-06 17:29:27 -08:00
Yann Collet
d51f046628 2-stages LZ4_count
separate first branch from the rest of the compare loop
to get dedicated prediction.

measured a 3-4% compression speed improvement.
2017-11-06 15:42:50 -08:00
Yann Collet
ce8393e8d7 build: minor : make lz4 doesn't compile liblz4 anymore
since it's not needed.
2017-11-06 15:20:08 -08:00
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