]>
git.ipfire.org Git - thirdparty/zstd.git/log
Nick Terrell [Wed, 27 Sep 2017 22:29:07 +0000 (15:29 -0700)]
[libzstd][opt] Simplify repcode logic
Yann Collet [Tue, 26 Sep 2017 23:26:29 +0000 (16:26 -0700)]
Merge pull request #864 from terrelln/long
Increase maximum window size
Yann Collet [Tue, 26 Sep 2017 21:57:24 +0000 (14:57 -0700)]
Merge pull request #867 from terrelln/fast-fuzz
[fuzz] Speed up round trip tests
Nick Terrell [Tue, 26 Sep 2017 21:03:43 +0000 (14:03 -0700)]
[fuzz] Speed up round trip tests
* Enforce smaller maximum values for parameters
* Adjust parameters to the source size
The memory usage is reduced by about 5x, which makes the fuzzers run at
least twice as fast, even more so with ASAN/MSAN enabled.
Nick Terrell [Fri, 22 Sep 2017 21:04:39 +0000 (14:04 -0700)]
Increase maximum window size
* Maximum window size in 32-bit mode is 1GB, since allocations for 2GB fail
on my Mac.
* Maximum window size in 64-bit mode is 2GB, since that is the largest
power of 2 that works with the overflow prevention.
* Allow `--long=windowLog` to set the window log, along with
`--zstd=wlog=#`. These options also set the window size during
decompression, but don't override `--memory=#` if it is set.
* Present a helpful error message when the window size is too large during
decompression.
* The long range matcher defaults to a hash log 7 less than the window log,
which keeps it at 20 for window log 27.
* Keep the default long range matcher window size and the default maximum
window size at 27 for the API and CLI.
* Add tests that use the maximum window size and hash size for compression
and decompression.
Yann Collet [Tue, 26 Sep 2017 00:11:35 +0000 (17:11 -0700)]
Merge pull request #861 from terrelln/zip
[fuzz][CI] Set up regression tests
Yann Collet [Tue, 26 Sep 2017 00:02:40 +0000 (17:02 -0700)]
Merge pull request #862 from terrelln/static
[zstd] Backport kernel patch from @ColinIanKing
Yann Collet [Mon, 25 Sep 2017 23:34:29 +0000 (16:34 -0700)]
Merge pull request #855 from terrelln/maxoff
[libzstd] Increase MaxOff
Nick Terrell [Mon, 25 Sep 2017 23:12:46 +0000 (16:12 -0700)]
[zstd] Backport kernel patch from @ColinIanKing
* Make the U32 table in `FSE_normalizeCount()` static.
* Patch from https://lkml.kernel.org/r/
20170922145946 .14316-1-colin.king@canonical.com.
* Clang makes non-static tables static anyways. gcc however, does [weird things](https://godbolt.org/g/fvTcED).
* Benchmarks showed no difference in speed.
Nick Terrell [Mon, 25 Sep 2017 22:00:50 +0000 (15:00 -0700)]
[fuzz] Determine flags based on compiler version
Nick Terrell [Mon, 25 Sep 2017 20:33:12 +0000 (13:33 -0700)]
[fuzz][CI] Add regression tests to the CI
Nick Terrell [Mon, 25 Sep 2017 20:32:50 +0000 (13:32 -0700)]
[fuzz] Mention the corpora in the README
Nick Terrell [Mon, 25 Sep 2017 20:29:50 +0000 (13:29 -0700)]
[fuzz] Add regressiontest targets
Nick Terrell [Mon, 18 Sep 2017 23:54:53 +0000 (16:54 -0700)]
[libzstd] Increase MaxOff
Nick Terrell [Mon, 25 Sep 2017 20:28:45 +0000 (13:28 -0700)]
[fuzz] Make simple_round_trip compile cleanly
Nick Terrell [Mon, 25 Sep 2017 20:28:18 +0000 (13:28 -0700)]
[fuzz] Fix fuzz.py env flags parsing
Nick Terrell [Mon, 25 Sep 2017 18:27:33 +0000 (11:27 -0700)]
[fuzz] fuzz.py can minimize and zip corpora
* "minimize" minimizes the corpora into an output directory.
* "zip" zips up the minimized corpora, which are ready to deploy.
Yann Collet [Fri, 22 Sep 2017 16:01:39 +0000 (09:01 -0700)]
Merge pull request #859 from terrelln/31
Prepare for ZSTD_WINDOWLOG_MAX == 31
Yann Collet [Fri, 22 Sep 2017 00:24:43 +0000 (17:24 -0700)]
Merge pull request #858 from facebook/controlSize
added control of frame content size at end of decompression
Nick Terrell [Thu, 21 Sep 2017 23:18:34 +0000 (16:18 -0700)]
Prepare for ZSTD_WINDOWLOG_MAX == 31
Yann Collet [Thu, 21 Sep 2017 23:21:10 +0000 (16:21 -0700)]
added control from frame content size at end of decompression
adding check at end of single-pass ZSTD_decompressFrame().
Check within ZSTD_decompressContinue() was already added in a previous patch :
b3f33ccfb3b4fcc73df82126fd5ecfb751268fc6
Yann Collet [Tue, 19 Sep 2017 21:59:21 +0000 (14:59 -0700)]
Merge pull request #850 from terrelln/fse-optimal
[fse] Fix FSE_optimalTableLog() for srcSize==1
Yann Collet [Tue, 19 Sep 2017 21:25:10 +0000 (14:25 -0700)]
Merge pull request #849 from terrelln/30
[bitstream] Allow adding 31 bits at a time
Yann Collet [Tue, 19 Sep 2017 21:22:08 +0000 (14:22 -0700)]
Merge pull request #857 from terrelln/bad-assert
Fix minor fuzz test failures
Nick Terrell [Sat, 16 Sep 2017 00:44:09 +0000 (17:44 -0700)]
[bitstream] Allow adding 31 bits at a time
Nick Terrell [Tue, 19 Sep 2017 20:49:37 +0000 (13:49 -0700)]
[ldm] Fix corner case where minMatch < 8
There is a potential read buffer overflow when minMatch < 8.
fix-fuzz-failure
Nick Terrell [Tue, 19 Sep 2017 20:46:07 +0000 (13:46 -0700)]
[libzstd] Fix bad window size assert
The window size is not validated or used in the one-pass API, so there
shouldn't be an assert based on it.
fix-fuzz-failure
Yann Collet [Mon, 18 Sep 2017 22:50:14 +0000 (15:50 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Mon, 18 Sep 2017 22:49:59 +0000 (15:49 -0700)]
added streaming_memory_usage example
Yann Collet [Mon, 18 Sep 2017 22:21:23 +0000 (15:21 -0700)]
Merge pull request #853 from terrelln/blog
[zstdcli] Fix LDM advanced options parsing
Yann Collet [Mon, 18 Sep 2017 22:10:02 +0000 (15:10 -0700)]
Merge pull request #852 from facebook/fix851
fix #851 : sudo zstd -t file.zst changes /dev/null permissions
Nick Terrell [Mon, 18 Sep 2017 21:36:17 +0000 (14:36 -0700)]
[zstdcli] Fix LDM advanced options parsing
Yann Collet [Mon, 18 Sep 2017 21:48:23 +0000 (14:48 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Mon, 18 Sep 2017 21:47:34 +0000 (14:47 -0700)]
fix ZSTD_sizeof_CCtx() / ZSTD_sizeof_CStream()
previous result was over-estimated
by counting streaming buffers twice
Nick Terrell [Sat, 16 Sep 2017 02:00:39 +0000 (19:00 -0700)]
[fse] Fix FSE_optimalTableLog() for srcSize==1
Yann Collet [Mon, 18 Sep 2017 20:48:31 +0000 (13:48 -0700)]
Merge pull request #848 from terrelln/fparams
[block] Don't use fParams in ZSTD_decompressBlock()
Yann Collet [Mon, 18 Sep 2017 20:41:54 +0000 (13:41 -0700)]
fix #851 : sudo zstd -t file.zst changes /dev/null permissions
reported by @mike155
Yann Collet [Sun, 17 Sep 2017 06:40:14 +0000 (23:40 -0700)]
minor : added assert in bt
Yann Collet [Sat, 16 Sep 2017 06:26:23 +0000 (23:26 -0700)]
Merge pull request #846 from facebook/splitDict
Split dict
Nick Terrell [Sat, 16 Sep 2017 00:22:38 +0000 (17:22 -0700)]
[block] Don't use fParams in ZSTD_decompressBlock()
Yann Collet [Fri, 15 Sep 2017 23:23:50 +0000 (16:23 -0700)]
add comment on using -B# to split input file for dictionary training
Yann Collet [Fri, 15 Sep 2017 22:31:31 +0000 (15:31 -0700)]
ensures that sampleSizes table is large enough
as recommended by @terrelln
Yann Collet [Fri, 15 Sep 2017 19:09:00 +0000 (12:09 -0700)]
Merge pull request #847 from terrelln/fuzzer
[fuzzer] Fuzz long range matching & new API
Yann Collet [Fri, 15 Sep 2017 18:55:13 +0000 (11:55 -0700)]
fixed 64-to-32 conversion warnings
Yann Collet [Fri, 15 Sep 2017 17:16:26 +0000 (10:16 -0700)]
fixed minor conversion warning
Yann Collet [Thu, 14 Sep 2017 23:45:10 +0000 (16:45 -0700)]
added ability to split input files for dictionary training
using command -B#
This is the same behavior as benchmark module,
which can also split input into arbitrary size blocks, using -B#.
Yann Collet [Thu, 14 Sep 2017 22:12:57 +0000 (15:12 -0700)]
minor comment refactor
Nick Terrell [Thu, 14 Sep 2017 21:41:49 +0000 (14:41 -0700)]
[fuzzer] Fuzz long range matching & new API
Yann Collet [Thu, 14 Sep 2017 18:40:25 +0000 (11:40 -0700)]
Merge pull request #844 from terrelln/fuzzer
Fuzzer
Nick Terrell [Thu, 14 Sep 2017 02:08:35 +0000 (19:08 -0700)]
[fuzzer] Fix bugs in fuzz.py
Nick Terrell [Thu, 14 Sep 2017 01:41:32 +0000 (18:41 -0700)]
[fuzzer] Fix FUZZ_seed()
Nick Terrell [Thu, 14 Sep 2017 01:18:35 +0000 (18:18 -0700)]
[fuzzer] Update README.md
Nick Terrell [Thu, 14 Sep 2017 00:45:21 +0000 (17:45 -0700)]
[fuzz] Add fuzzing helper script
Nick Terrell [Thu, 14 Sep 2017 00:44:41 +0000 (17:44 -0700)]
Add block fuzzers
Nick Terrell [Thu, 14 Sep 2017 00:44:30 +0000 (17:44 -0700)]
[fuzzer] Handle single empty directory
Yann Collet [Thu, 14 Sep 2017 00:26:55 +0000 (17:26 -0700)]
Merge pull request #842 from stellamplau/decodeCorpus-maxSize
Add flag to limit max decompressed size in decodeCorpus
Yann Collet [Wed, 13 Sep 2017 23:35:29 +0000 (16:35 -0700)]
fixed too strong alignment assert in ZSTD_initStaticCCtx()
64-bits fields are only 32-bits aligned on 32-bits CPU
Nick Terrell [Wed, 13 Sep 2017 03:21:41 +0000 (20:21 -0700)]
Update fuzzer Makefile
Nick Terrell [Wed, 13 Sep 2017 03:20:27 +0000 (20:20 -0700)]
Update fuzzer sources
Stella Lau [Wed, 13 Sep 2017 23:01:16 +0000 (16:01 -0700)]
Fix implicit conversion error
Stella Lau [Wed, 13 Sep 2017 22:07:03 +0000 (15:07 -0700)]
Add flag to limit max decompressed size in decodeCorpus
Yann Collet [Wed, 13 Sep 2017 20:24:08 +0000 (13:24 -0700)]
Merge pull request #838 from stellamplau/ldm-mergeDev
Add long distance matcher
Yann Collet [Wed, 13 Sep 2017 18:41:01 +0000 (11:41 -0700)]
Merge pull request #841 from facebook/utilTimeAPI
modified util::time API (T19505791)
Yann Collet [Wed, 13 Sep 2017 16:34:04 +0000 (09:34 -0700)]
Merge pull request #840 from stellamplau/decodeCorpus-blocks
Make decodecorpus generate raw compressed blocks
Yann Collet [Wed, 13 Sep 2017 04:21:17 +0000 (21:21 -0700)]
blindfix for Visual
LARGE_INTEGER is not an integer :
https://msdn.microsoft.com/en-us/library/windows/desktop/
aa383713 (v=vs.85).aspx
Do not take any risk with the structure definition :
use int init = 0; like Mac code
Yann Collet [Wed, 13 Sep 2017 02:32:26 +0000 (19:32 -0700)]
fixed minor prototype warning
Yann Collet [Wed, 13 Sep 2017 01:12:46 +0000 (18:12 -0700)]
modified util::time API
for easier invocation.
- no longer expose frequency timer :
it's either useless, or stored internally in a static variable (init is only necessary once).
- UTIL_getTime() provides result by function return.
Stella Lau [Tue, 12 Sep 2017 21:29:39 +0000 (14:29 -0700)]
Make decodecorpus generate raw compressed blocks
Yann Collet [Wed, 13 Sep 2017 00:13:52 +0000 (17:13 -0700)]
Merge pull request #839 from terrelln/timer
[bench] Use higher resolution timer on POSIX
Yann Collet [Wed, 13 Sep 2017 00:13:17 +0000 (17:13 -0700)]
Merge pull request #837 from facebook/libzstd-nomt
makes it possible to compile libzstd in single-thread mode without zs…
Nick Terrell [Tue, 12 Sep 2017 20:09:08 +0000 (13:09 -0700)]
[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.
Stella Lau [Tue, 12 Sep 2017 00:21:28 +0000 (17:21 -0700)]
Reduce ldm hash table size in test
Yann Collet [Mon, 11 Sep 2017 23:20:40 +0000 (16:20 -0700)]
Merge pull request #836 from facebook/decodingBufferSizeMin
Decoding buffer size min
Yann Collet [Mon, 11 Sep 2017 22:17:31 +0000 (15:17 -0700)]
fix #820 : GCC v3.x 32-bits doesn't define 64-bits intrinsic
resulting in undefined symbol error.
Push the requirement to GCC 4 for now.
Another solution, proposed by @NWilson, is to use __LONG_MAX__ instead.
__LONG_MAX__ is a GCC-specific constant, which value is supposed to depend on underlying target hardware (32/64 bits)
Might be better, but seems also more complex, hence more prone to side effects.
Keeping the simple solution for now (just rely on __GNUC__)
Stella Lau [Mon, 11 Sep 2017 22:00:01 +0000 (15:00 -0700)]
Merge branch 'dev' of https://github.com/facebook/zstd into ldm-mergeDev
Stella Lau [Mon, 11 Sep 2017 21:55:29 +0000 (14:55 -0700)]
Merge branch 'ldm-integrate' into ldm-mergeDev
Yann Collet [Mon, 11 Sep 2017 21:37:03 +0000 (14:37 -0700)]
fixed pass-through warning
Stella Lau [Mon, 11 Sep 2017 20:02:09 +0000 (13:02 -0700)]
Explicitly cast raw numerals when left-shifting
Yann Collet [Mon, 11 Sep 2017 21:09:34 +0000 (14:09 -0700)]
makes it possible to compile libzstd in single-thread mode without zstdmt_compress.c (#819)
Yann Collet [Mon, 11 Sep 2017 20:12:52 +0000 (13:12 -0700)]
fix following suggestions by @terrelln
Yann Collet [Sat, 9 Sep 2017 21:37:28 +0000 (14:37 -0700)]
use ZSTD_decodingBufferSize_min() inside ZSTD_decompressStream()
Use same definition as public one
minor : reduce allocated buffer size in some cases
(when frameContentSize is known and == windowSize)
Yann Collet [Sat, 9 Sep 2017 08:03:29 +0000 (01:03 -0700)]
ZSTD_decodingBufferSize_min()
supporting function for bufferless streaming API (ZSTD_decompressContinue())
makes it possible to correctly size a round buffer for decoding using this API.
also : added field blockSizeMax within ZSTD_frameHeader,
as it's a necessary information to know when to restart at beginning of decoding buffer.
Yann Collet [Fri, 8 Sep 2017 07:09:23 +0000 (00:09 -0700)]
updated license header
to clarify dual-license meaning as "or"
Stella Lau [Thu, 7 Sep 2017 00:56:01 +0000 (17:56 -0700)]
Move ldm functions to their own file
Yann Collet [Wed, 6 Sep 2017 23:53:59 +0000 (16:53 -0700)]
programs/Makefile : better support for GNU conventions
see https://www.gnu.org/prep/standards/html_node/Command-Variables.html
Yann Collet [Wed, 6 Sep 2017 23:35:49 +0000 (16:35 -0700)]
lib/Makefile : better support for GNU conventions
see https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html
Yann Collet [Wed, 6 Sep 2017 23:23:39 +0000 (16:23 -0700)]
update README on BUCK file
Yann Collet [Wed, 6 Sep 2017 23:15:18 +0000 (16:15 -0700)]
update and clarify lib/README
Stella Lau [Wed, 6 Sep 2017 22:57:26 +0000 (15:57 -0700)]
Remove debug code
Stella Lau [Wed, 6 Sep 2017 22:56:32 +0000 (15:56 -0700)]
Merge remote-tracking branch 'upstream/dev' into ldm-mergeDev
Stella Lau [Wed, 6 Sep 2017 18:03:35 +0000 (11:03 -0700)]
Add ldm documentation in README
Yann Collet [Wed, 6 Sep 2017 17:02:46 +0000 (10:02 -0700)]
Merge pull request #834 from stellamplau/regressionDriverFix
Fix function name in tests/fuzz/regression_driver
Yann Collet [Wed, 6 Sep 2017 17:01:27 +0000 (10:01 -0700)]
Merge pull request #831 from terrelln/split-compress
Split parsers out of zstd_compress.c
Stella Lau [Wed, 6 Sep 2017 15:39:46 +0000 (08:39 -0700)]
Add tests and fix pointer alignment
Stella Lau [Wed, 6 Sep 2017 05:14:41 +0000 (22:14 -0700)]
Fix function name in tests/fuzz/regression_driver
Stella Lau [Wed, 6 Sep 2017 04:11:18 +0000 (21:11 -0700)]
Rename and add short ldm parameters in cli
Stella Lau [Wed, 6 Sep 2017 03:41:37 +0000 (20:41 -0700)]
Fix setting of nextToUpdate at end of ldm matcher
Nick Terrell [Sat, 2 Sep 2017 01:22:31 +0000 (18:22 -0700)]
Update build scripts
Nick Terrell [Sat, 2 Sep 2017 01:28:35 +0000 (18:28 -0700)]
Split parsers out of zstd_compress.c
Yann Collet [Tue, 5 Sep 2017 23:55:21 +0000 (16:55 -0700)]
Merge pull request #833 from stellamplau/copyCCtxFix
Fix parameter handling with ZSTD_copyCCtx