Commit Graph

1825 Commits

Author SHA1 Message Date
Yann Collet
0fea528e3a updated documentation regarding dictionary compression
following suggestion from @stbrumme (#558)

Also : bumped version number, regenerated man page and html doc
2018-09-05 14:05:08 -07:00
Yann Collet
c4dbc37b3c
Merge pull request #553 from mrjoel/mrjoel/cmake-optional-lz4c
Add CMake option to not build legacy lz4c program
2018-08-09 14:07:45 -07:00
Joel Johnson
672ff590b2 Add CMake option to not build legacy lz4c program 2018-08-09 12:40:55 -06:00
Yann Collet
60b1c5e3f2
Merge pull request #552 from jackluo923/dev
fixed spelling mistake in lz4_manual and lz4.h
2018-07-30 12:53:11 +02:00
Jack Luo
2e52f03a12 fixed spelling mistake in lz4.h 2018-07-28 22:21:57 -04:00
Jack Luo
3358e169ee fixed spelling mistake in lz4_manual 2018-07-28 22:12:55 -04:00
Yann Collet
e95781dc2a
Merge pull request #547 from jennifermliu/dev
Add --fast command to cli
2018-07-17 15:42:48 +02:00
Yann Collet
bfcd9c64a5
Merge pull request #550 from terrelln/compress-doc
Fix LZ4_compress_fast_continue() docs
2018-07-16 03:15:21 -07:00
Nick Terrell
4eca78b5c3 Fix LZ4_compress_fast_continue() docs
Fixes #549.
2018-07-10 11:44:03 -07:00
Jennifer Liu
e778db373b Fixed bugs about incorrect acceleration calculation and benchmarking negative compresion level 2018-06-27 13:36:38 -07:00
Jennifer Liu
8745638d7c Fixed invalid argument test and reformatted else 2018-06-26 17:53:12 -07:00
Jennifer Liu
9ee5183d9b Fixed code based on comments from pull request 2018-06-26 17:31:15 -07:00
Jennifer Liu
fd1d59f7ba Removed duplicated circile.yml file 2018-06-26 14:48:58 -07:00
Jennifer Liu
e95706bb2a Fixed lz4 not found error part 2 2018-06-26 11:24:21 -07:00
Jennifer Liu
075952e340 Fixed lz4 not found error 2018-06-26 11:15:55 -07:00
Jennifer Liu
9f8fd09852 delete commented out code in bench.c 2018-06-26 10:49:39 -07:00
Jennifer Liu
db97528fe8 fix yml file 2018-06-26 10:33:15 -07:00
Jennifer Liu
17bcb58eb0 Fixed bug about file to be compressed is not present 2018-06-25 18:51:47 -07:00
Jennifer Liu
536b79afd9 Added --fast command to cli 2018-06-25 17:46:39 -07:00
Jennifer Liu
78978d655d set up sample .ysml 2018-06-20 13:37:49 -07:00
Yann Collet
1466e0b7f2
Merge pull request #543 from nrgiii/aix_32bit_fuzzer
Aix 32bit fuzzer
2018-06-01 14:40:22 -07:00
Norm Green
628c1fbb3c Merge branch 'master' of https://github.com/nrgiii/lz4 into aix_32bit_fuzzer 2018-06-01 12:00:41 -07:00
Norm Green
ebe7e35601 Fix AIX 32 bit build problem of fuzzer.c 2018-06-01 11:52:22 -07:00
Yann Collet
ef4f1e3047
Merge pull request #542 from wbx-github/dev
allow to override uname when cross-compiling
2018-05-29 14:20:48 -07:00
Yann Collet
6a5f8d5100
Merge pull request #541 from felixhandte/hc-extern-c
Add `extern "C"` Guard Around Experimental HC Declarations
2018-05-22 14:20:45 -07:00
Waldemar Brodkorb
6a7af839b8 allow to override uname when cross-compiling
When cross-compiling for example from Darwin to Linux it might be
useful to override uname output to force Linux and create Linux
libraries instead of Darwin libraries.
2018-05-22 20:38:28 +02:00
W. Felix Handte
b8211544ef Also Fix Appveyor Cast Warning 2018-05-22 11:44:15 -04:00
W. Felix Handte
4248a9bfc0 Add extern "C" Guards Around Experimental HC Declarations 2018-05-21 22:30:10 -04:00
W. Felix Handte
91888f472d Remove #define-rename of LZ4_decompress_safe_forceExtDict 2018-05-21 22:29:40 -04:00
W. Felix Handte
c746a27e91 Test Linking C-Compiled Library and C++-Compiled Tests 2018-05-21 22:29:20 -04:00
Yann Collet
843dfd239a
Merge pull request #540 from fbrosson/Haiku
Add Haiku as a validated target.
2018-05-17 10:48:32 -07:00
fbrosson
2149b1a8f6 Add Haiku as a validated target.
lz4 1.8.2 works fine on Haiku and passes all tests.
2018-05-17 16:52:53 +00:00
Yann Collet
b3692db46d
Merge pull request #531 from lz4/dev
Preparing v1.8.2
2018-05-07 14:38:45 -07:00
Yann Collet
bf6fd938e5
Merge pull request #537 from lz4/xpHCmf2
Speed optimization for optimal parser
2018-05-07 13:06:43 -07:00
Yann Collet
ba1c7148a5 renamed variable for clarity 2018-05-07 12:14:26 -07:00
Yann Collet
abb1f70e17
Merge pull request #538 from lz4/frameTestError
Fix frametest error
2018-05-07 11:33:53 -07:00
Yann Collet
200b2960d5 fixed minor conversion warning 2018-05-06 18:26:14 -07:00
Yann Collet
24b9c485db small PA optimization
which measurably improves speed
on levels 9+
2018-05-06 16:53:33 -07:00
Yann Collet
d7b6c726ed small extDict : fixed side-effect
don't fix dictionaries of size 0.
setting dictEnd == source triggers prefix mode,
thus removing possibility to use CDict.
2018-05-05 19:59:00 -07:00
Yann Collet
af12733467 fixed frametest error
The error can be reproduced using following command :
./frametest -v -i100000000 -s1659 -t31096808

It's actually a bug in the stream LZ4 API,
when starting a new stream
and providing a first chunk to complete with size < MINMATCH.
In which case, the chunk becomes a dictionary.
No hash was generated and stored,
but the chunk is accessible as default position 0 points to dictStart,
and position 0 is still within MAX_DISTANCE.
Then, next attempt to read 32-bits from position 0 fails.

The issue would have been mitigated by starting from index 64 KB,
effectively eliminating position 0 as too far away.

The proper fix is to eliminate such "dictionary" as too small.
Which is what this patch does.
2018-05-05 18:24:11 -07:00
Yann Collet
cdb0275b7f lz4hc: fixed PA / SC parameter order
also :
reserved PA for levels 9+ (instead of 8+).
In most cases, speed is lower, and compression benefit is not worth.
2018-05-05 14:32:57 -07:00
Yann Collet
a4e918d7a6 lz4hc: SC only enabled for opt parser
the trade off is not good for regular HC parser :
compression is a little bit better, but speed cost is too large in comparison.
2018-05-05 14:25:37 -07:00
Yann Collet
d097bf93f8 fixed SC.opt integration with regular HC parser
Only enabled when searching forward.

note : it slighly improves compression ratio,
but measurably decreases speed.
Trade-off to analyse.
2018-05-05 13:46:45 -07:00
Yann Collet
fa89a9e18b lz4hc: fixed performance issue
when combining both PA and CS optimizations
2018-05-05 13:31:03 -07:00
Yann Collet
9699ba5ddf integrated chain swapper into HC match finder
slower than expected
Pattern analyzer and Chain Swapper
work slower when both activated.
Reasons unclear.
2018-05-04 19:13:33 -07:00
Yann Collet
a39fa9c5fc
Merge pull request #536 from terrelln/make-install
Fix make install
2018-05-04 16:18:46 -07:00
Nick Terrell
3e7fa1b14d Attempt to fix travis 2018-05-04 14:33:59 -07:00
Nick Terrell
a7cc0b590a Fix make install
* Uninstall didn't remove the pkg-config correctly.
* Fix `mandir`
* Allow overriding either upper- or lower-case location variables, but
  always use the lower case variables.
* Add test case that ensures overriding both upper- and lower-case
  variables is the same, and that the directory is empty after uninstall.
2018-05-04 13:50:23 -07:00
Yann Collet
434ace7244 implemented search accelerator
greatly improves speed compared to non-accelerated,
especially for slower files.

On my laptop, -b12 :
```
calgary.tar :  4.3 MB/s =>  9.0 MB/s
enwik7      : 10.2 MB/s => 13.3 MB/s
silesia.tar :  4.0 MB/s =>  8.7 MB/s
```

Note : this is the simplified version,
without handling dictionaries, external buffer, nor pattern analyzer.
Current `dev` branch on these samples gives :
```
calgary.tar :  4.2 MB/s
enwik7      :  9.7 MB/s
silesia.tar :  3.5 MB/s
```

interestingly, it's slower,
presumably due to handling of dictionaries.
2018-05-03 16:31:41 -07:00
Yann Collet
d358e33faa Added CDict speed graph to be used for release statement 2018-05-03 16:01:24 -07:00