]>
git.ipfire.org Git - thirdparty/zstd.git/log
Yann Collet [Mon, 26 Mar 2018 22:19:02 +0000 (15:19 -0700)]
Merge pull request #1075 from terrelln/cmake
Fix CMake build
Nick Terrell [Mon, 26 Mar 2018 21:58:33 +0000 (14:58 -0700)]
Fix CMake build
`MAN_INSTALL_DIR` was undefined.
Tested with `make cmakebuild`, and saw that the man pages got installed to the right place:
```
-- Installing: /Users/terrelln/install_test_dir/lib/pkgconfig/libzstd.pc
-- Installing: /Users/terrelln/install_test_dir/include/zstd.h
-- Installing: /Users/terrelln/install_test_dir/include/zbuff.h
-- Installing: /Users/terrelln/install_test_dir/include/zdict.h
-- Installing: /Users/terrelln/install_test_dir/include/zstd_errors.h
-- Installing: /Users/terrelln/install_test_dir/lib/libzstd.1.3.4.dylib
-- Installing: /Users/terrelln/install_test_dir/lib/libzstd.dylib
-- Installing: /Users/terrelln/install_test_dir/lib/libzstd.a
-- Installing: /Users/terrelln/install_test_dir/bin/zstd
-- Up-to-date: /Users/terrelln/install_test_dir/bin/zstd
-- Installing: /Users/terrelln/install_test_dir/bin/zstdcat
-- Installing: /Users/terrelln/install_test_dir/bin/unzstd
-- Installing: /Users/terrelln/install_test_dir/share/man/man1/zstd.1
-- Installing: /Users/terrelln/install_test_dir/share/man/man1/zstdcat.1
-- Installing: /Users/terrelln/install_test_dir/share/man/man1/unzstd.1
-- Installing: /Users/terrelln/install_test_dir/bin/zstdmt
-- Installing: /Users/terrelln/install_test_dir/bin/pzstd
-- Installing: /Users/terrelln/install_test_dir/zstd_manual.html
```
Yann Collet [Mon, 26 Mar 2018 17:21:49 +0000 (10:21 -0700)]
updated NEWS for v1.3.4
Yann Collet [Mon, 26 Mar 2018 16:55:10 +0000 (09:55 -0700)]
updated VS studio readme
Yann Collet [Mon, 26 Mar 2018 16:21:12 +0000 (09:21 -0700)]
Merge pull request #1065 from HaydnTrigg/dev
Generic Visual Studio 2017 build script
Yann Collet [Mon, 26 Mar 2018 01:26:42 +0000 (18:26 -0700)]
Merge pull request #1072 from facebook/srcPackage
Src package
Yann Collet [Mon, 26 Mar 2018 01:26:24 +0000 (18:26 -0700)]
Merge pull request #1074 from rxrbln/dev
fixed legacy/zstd_v* with older gcc version, by guarding builtin_*
René Rebe [Sun, 25 Mar 2018 18:35:15 +0000 (20:35 +0200)]
fixed legacy/zstd_v* with older gcc version, by guarding builtin_*
like in other files
Haydn Trigg [Sun, 25 Mar 2018 15:33:53 +0000 (02:03 +1030)]
Swapped VS2017 preference order
Yann Collet [Sat, 24 Mar 2018 16:55:13 +0000 (09:55 -0700)]
Merge branch 'dev' into srcPackage
Yann Collet [Sat, 24 Mar 2018 16:52:26 +0000 (09:52 -0700)]
Merge pull request #1073 from facebook/hasAttribute
make `DYNAMIC_BMI2` support of `clang` conditional to `__has_attribute()`
Yann Collet [Sat, 24 Mar 2018 02:04:48 +0000 (19:04 -0700)]
added __has_attribute() define for non-clang compilers
Yann Collet [Sat, 24 Mar 2018 01:45:42 +0000 (18:45 -0700)]
make DYNAMIC_BMI2 support of clang conditional to __has_attribute()
to support older clang versions such as 3.4
Yann Collet [Sat, 24 Mar 2018 01:39:53 +0000 (18:39 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Sat, 24 Mar 2018 01:39:42 +0000 (18:39 -0700)]
Revert "create .tar.zst source package"
This reverts commit
929608146a439c4bd28b989a5af47cb9afce2af5 .
Yann Collet [Sat, 24 Mar 2018 00:57:37 +0000 (17:57 -0700)]
make artifacts ande extended tests only on master
Yann Collet [Sat, 24 Mar 2018 00:57:11 +0000 (17:57 -0700)]
restored certutil command line
Yann Collet [Sat, 24 Mar 2018 00:52:16 +0000 (17:52 -0700)]
clean certutil output
Yann Collet [Sat, 24 Mar 2018 00:40:53 +0000 (17:40 -0700)]
added sha256 sig
Yann Collet [Sat, 24 Mar 2018 00:20:05 +0000 (17:20 -0700)]
created zstd archive from git archive
Yann Collet [Sat, 24 Mar 2018 00:06:11 +0000 (17:06 -0700)]
export zstd/master from github using svn
Yann Collet [Fri, 23 Mar 2018 23:52:32 +0000 (16:52 -0700)]
git clone master branch (hardcoded)
Yann Collet [Fri, 23 Mar 2018 23:49:34 +0000 (16:49 -0700)]
git clone for clean src tar
Yann Collet [Fri, 23 Mar 2018 23:36:18 +0000 (16:36 -0700)]
added tar command
Yann Collet [Fri, 23 Mar 2018 23:27:28 +0000 (16:27 -0700)]
added path print
Yann Collet [Fri, 23 Mar 2018 23:24:54 +0000 (16:24 -0700)]
removed src artifact lines
Yann Collet [Fri, 23 Mar 2018 23:23:23 +0000 (16:23 -0700)]
commented src archive lines
Yann Collet [Fri, 23 Mar 2018 23:15:56 +0000 (16:15 -0700)]
added srcPackage to list of branch producing artifacts
Yann Collet [Fri, 23 Mar 2018 22:00:04 +0000 (15:00 -0700)]
create .tar.zst source package
Yann Collet [Fri, 23 Mar 2018 21:25:42 +0000 (14:25 -0700)]
Merge pull request #1071 from terrelln/mt-pics
Add zstdmt long range mode graphs
Nick Terrell [Fri, 23 Mar 2018 21:06:05 +0000 (14:06 -0700)]
Add zstdmt long range mode graphs
Yann Collet [Fri, 23 Mar 2018 01:44:56 +0000 (18:44 -0700)]
updated graph for dictionary compression
Yann Collet [Fri, 23 Mar 2018 01:37:16 +0000 (18:37 -0700)]
Merge pull request #1069 from facebook/statusLine
restored simple status line during zstd compression
Yann Collet [Fri, 23 Mar 2018 01:22:10 +0000 (18:22 -0700)]
updated benchmark figures
Yann Collet [Fri, 23 Mar 2018 00:49:46 +0000 (17:49 -0700)]
restored simple status line during zstd compression
the more advanced one, featuring amount of data buffered,
is triggered on `-v`.
Yann Collet [Thu, 22 Mar 2018 17:38:33 +0000 (10:38 -0700)]
Merge pull request #1067 from facebook/targetLength
removed limit ZSTD_TARGETLENGTH_MAX
Yann Collet [Thu, 22 Mar 2018 17:38:17 +0000 (10:38 -0700)]
Merge pull request #1068 from terrelln/mt-fixes
Fix broken assertion
Yann Collet [Wed, 21 Mar 2018 23:45:15 +0000 (16:45 -0700)]
fixed fuzz test
Nick Terrell [Wed, 21 Mar 2018 23:20:30 +0000 (16:20 -0700)]
Fix broken assertion
The `avgJobSize` must not be lower than 256 KB for single-pass mode.
In `zstd.h` we say the minimum value for `ZSTD_p_jobSize` is 1 MB,
so ensure that we always pick a size >= 1 MB.
Found by libFuzzer fuzzer tests with large input limits.
Yann Collet [Wed, 21 Mar 2018 23:09:15 +0000 (16:09 -0700)]
fixed paramgrill
Yann Collet [Wed, 21 Mar 2018 22:54:44 +0000 (15:54 -0700)]
added large negative level test case
Yann Collet [Wed, 21 Mar 2018 22:50:05 +0000 (15:50 -0700)]
removed limit ZSTD_TARGETLENGTH_MAX
this makes it possible to specify extremely large negative compression levels,
achieving the side effect as "no compression".
It will also be possible to define larger targetlength for ultra compression mode.
There is no adverse side effect due to removing this limit.
Haydn Trigg [Wed, 21 Mar 2018 22:40:39 +0000 (09:10 +1030)]
Refined build script
Yann Collet [Wed, 21 Mar 2018 21:52:13 +0000 (14:52 -0700)]
Merge pull request #1062 from facebook/advancedDecompress
Advanced decompression API
Yann Collet [Wed, 21 Mar 2018 13:08:28 +0000 (06:08 -0700)]
Merge branch 'dev' into advancedDecompress
Yann Collet [Wed, 21 Mar 2018 12:59:39 +0000 (05:59 -0700)]
Merge pull request #1057 from facebook/lrmSettings
LRM parameters
Yann Collet [Wed, 21 Mar 2018 12:36:31 +0000 (05:36 -0700)]
Merge pull request #1063 from Varunram/manpage
Update man page variables in CMakeLists
Haydn Trigg [Wed, 21 Mar 2018 12:27:42 +0000 (22:57 +1030)]
Generic Visual Studio 2017 build script
Varunram [Wed, 21 Mar 2018 08:40:42 +0000 (14:10 +0530)]
Update man page variables in CMakeLists
Yann Collet [Wed, 21 Mar 2018 01:03:56 +0000 (18:03 -0700)]
fixed minor declaration warning
Yann Collet [Wed, 21 Mar 2018 00:50:20 +0000 (17:50 -0700)]
Merge pull request #1059 from terrelln/mt-ldm
Integrate ldm with zstdmt
Yann Collet [Wed, 21 Mar 2018 00:48:22 +0000 (17:48 -0700)]
fixed legacy test case
Yann Collet [Tue, 20 Mar 2018 23:35:14 +0000 (16:35 -0700)]
fixed several comments by @terrelln
Yann Collet [Tue, 20 Mar 2018 23:19:42 +0000 (16:19 -0700)]
Merge pull request #1060 from facebook/compressImpl
merge bmi2 implementation of encodeSequence into zstd_compress.c
Yann Collet [Tue, 20 Mar 2018 23:18:48 +0000 (16:18 -0700)]
zstreamtest : slightly decreased time to build dictionary size
Yann Collet [Tue, 20 Mar 2018 23:16:13 +0000 (16:16 -0700)]
added test with ZSTD_decompress_generic() + ZSTD_DCtx_refPrefix()
also :
clarified stage condition to accept new parameters,
fixed initializers correspondingly.
Yann Collet [Tue, 20 Mar 2018 22:59:25 +0000 (15:59 -0700)]
added a test with ZSTD_decompress_generic() + ZSTD_DCtx_loadDictionary_byReference()
Yann Collet [Tue, 20 Mar 2018 22:45:56 +0000 (15:45 -0700)]
implemented ZSTD_DCtx_refPrefix*()
Yann Collet [Tue, 20 Mar 2018 22:43:49 +0000 (15:43 -0700)]
implemented ZSTD_DCtx_refDDict()
Nick Terrell [Tue, 20 Mar 2018 22:34:40 +0000 (15:34 -0700)]
Quiet appveyor warnings
Yann Collet [Tue, 20 Mar 2018 22:13:14 +0000 (15:13 -0700)]
changed dictMore for dictContentType
which seems clearer to describe what the variable/argument is about.
Yann Collet [Tue, 20 Mar 2018 21:52:02 +0000 (14:52 -0700)]
updated ZSTD_initStaticDDict() prototype
can also specify dictContentType.
Nick Terrell [Tue, 20 Mar 2018 21:31:43 +0000 (14:31 -0700)]
Fix external sequence corner cases
* Clear external sequences when we reset the `ZSTD_CCtx`.
* Skip external sequences when a block is too small to compress.
Yann Collet [Tue, 20 Mar 2018 20:40:29 +0000 (13:40 -0700)]
implemented ZSTD_DCtx_loadDictionary*()
this required updating ZSTD_createDDict_advanced()
to accept a dictContentType parameter (raw, full, auto).
Yann Collet [Tue, 20 Mar 2018 19:36:12 +0000 (12:36 -0700)]
Merge pull request #1058 from facebook/cctxParams
updated CCtxParams API
Yann Collet [Tue, 20 Mar 2018 02:10:31 +0000 (19:10 -0700)]
merge bmi2 implementation of encodeSequence into zstd_compress.c
Nick Terrell [Tue, 20 Mar 2018 01:56:39 +0000 (18:56 -0700)]
Fix window size for 1 worker + flushing
Nick Terrell [Tue, 20 Mar 2018 01:23:54 +0000 (18:23 -0700)]
Set ldmParams to 0 when disabled
Nick Terrell [Tue, 20 Mar 2018 00:54:04 +0000 (17:54 -0700)]
Fix corner cases exposed by zstreamtest
Nick Terrell [Wed, 7 Mar 2018 03:51:21 +0000 (19:51 -0800)]
Integrate ldm with zstdmt
Integrate ldm into zstdmt by running it in serial and in order in the first
step of each job, in the same place as the hash gets updated. The input
buffer is sized to fit the whole LDM window and 2 full buffers of slack.
Input buffers cannot be reused until the LDM step is done with them.
After the LDM step is finished, the jobs don't actually have access to the
full window, only the overlap.
Tested on a few different multi-GB files with and without sanitizers,
and with different numbers of threads.
Yann Collet [Mon, 19 Mar 2018 23:15:06 +0000 (16:15 -0700)]
moved snap to /contrib
Yann Collet [Mon, 19 Mar 2018 23:14:42 +0000 (16:14 -0700)]
Merge pull request #1015 from elopio/snapcraft
Add the packaging metadata to build the zstd snap
Yann Collet [Mon, 19 Mar 2018 23:13:12 +0000 (16:13 -0700)]
added docker readme
Yann Collet [Mon, 19 Mar 2018 23:07:41 +0000 (16:07 -0700)]
Merge pull request #1052 from Varunram/dockerfile
Add Dockerfile
Yann Collet [Mon, 19 Mar 2018 23:02:51 +0000 (16:02 -0700)]
add a test for unordered parameters
Nick Terrell [Mon, 19 Mar 2018 22:56:36 +0000 (15:56 -0700)]
Pull job/overlap log logic into common function (#1055)
Prepares for LDM integration by separating the job size and overlap logic
into helper functions.
Yann Collet [Mon, 19 Mar 2018 22:07:26 +0000 (15:07 -0700)]
updated CCtxParams API
to respect naming convention :
ZSTD_CCtxParams_*()
Yann Collet [Mon, 19 Mar 2018 21:41:23 +0000 (14:41 -0700)]
make it possible to express compression parameters in any order
Yann Collet [Mon, 19 Mar 2018 21:13:25 +0000 (14:13 -0700)]
Merge pull request #1056 from terrelln/xxh-parallel
Move XXH64_update() into worker threads
Yann Collet [Mon, 19 Mar 2018 19:04:27 +0000 (12:04 -0700)]
Merge pull request #1049 from facebook/contrib
`/contrib` projects as part of CI tests
Nick Terrell [Thu, 1 Mar 2018 04:10:44 +0000 (20:10 -0800)]
Move XXH64_update() into worker threads
* Computes the XXH hash in the worker threads.
* Workers get a sequence number and wait until ther number shows up. On
error, ensures that its sequence is finished, so future threads don't
get blocked.
* Sets up for ldm integration, which will go in the same spot.
Yann Collet [Mon, 19 Mar 2018 18:07:04 +0000 (11:07 -0700)]
make it possible to specify LDM parameters in any order
Yann Collet [Sun, 18 Mar 2018 19:00:24 +0000 (12:00 -0700)]
Merge pull request #1053 from Varunram/cmakelists
Add missing checks to CMakeLists
Yann Collet [Sun, 18 Mar 2018 18:37:35 +0000 (11:37 -0700)]
Merge pull request #1045 from terrelln/mt-single
Use a single buffer in zstdmt
Varunram [Sun, 18 Mar 2018 10:18:58 +0000 (15:48 +0530)]
Add missing checks to CMakeLists;closes #1023
Varunram [Sun, 18 Mar 2018 09:23:48 +0000 (14:53 +0530)]
Add Dockerfile
Dockerfile initially proposed by @gyscos at #880
Yann Collet [Sun, 18 Mar 2018 08:06:31 +0000 (01:06 -0700)]
Merge branch 'dev' into mt-single
Yann Collet [Sun, 18 Mar 2018 08:03:26 +0000 (01:03 -0700)]
Merge pull request #1050 from terrelln/restore-loadedDictEnd
Restore setting loadedDictEnd
Nick Terrell [Fri, 16 Mar 2018 01:52:38 +0000 (18:52 -0700)]
Restore setting loadedDictEnd
Setting `loadedDictEnd` was accidently removed from `ZSTD_loadDictionaryContent()`,
which means that dictionary compression will only be able to reference the parts of
the dictionary within the window. The spec allows us to reference the entire
dictionary so long as even one byte is in the window.
`ZSTD_enforceMaxDist()` incorrectly always allowed offsets up to `loadedDictEnd`
beyond the window, even once the dictionary was out of range.
When overflow protection kicked in, the check `current > loadedDictEnd + maxDist`
is incorrect if `loadedDictEnd` isn't reset back to zero. `current` could be reset
below the value, which would incorrectly allow references beyond the window. This
bug is present in `master`, but is very hard to trigger, since it requires both
dictionaries and data which triggers overflow correction.
Yann Collet [Fri, 16 Mar 2018 00:22:40 +0000 (17:22 -0700)]
moving LRM parameters out of experimental section
into "normal" range,
start pinned at 160.
Yann Collet [Fri, 16 Mar 2018 00:10:15 +0000 (17:10 -0700)]
fixed contrib/adaptive-compression
Yann Collet [Thu, 15 Mar 2018 23:39:59 +0000 (16:39 -0700)]
added /contrib projects to `make all`
Yann Collet [Thu, 15 Mar 2018 23:29:28 +0000 (16:29 -0700)]
fixed seekable format example
Yann Collet [Thu, 15 Mar 2018 23:26:08 +0000 (16:26 -0700)]
removed LRM exploratory experiment
Nick Terrell [Wed, 28 Feb 2018 04:09:18 +0000 (20:09 -0800)]
Use a single buffer in zstdmt
Summary:
Allocate a single input buffer large enough to house each job, as well as
enough space for the IO thread to write 2 extra buffers. One goes in the
`POOL` queue, and one to fill, and then block on a full `POOL` queue.
Since we can't overlap with the prefix, we allocate space for 3 extra
input buffers.
Test Plan:
* CI
* With and without ASAN/UBSAN run zstdmt with different number of threads
on two large binaries, and verify that their checksums match.
* Test on the tip of the zstdmt ldm integration.
Reviewers: cyan
Differential Revision: https://phabricator.intern.facebook.com/
D7284007
Tasks: T25664120
Yann Collet [Thu, 15 Mar 2018 21:14:03 +0000 (14:14 -0700)]
Merge pull request #1047 from facebook/hufCompress
removed huf_compress_impl.h
Yann Collet [Thu, 15 Mar 2018 18:56:43 +0000 (11:56 -0700)]
Merge pull request #1037 from terrelln/extern-seq
Expose reference external sequence API
Nick Terrell [Thu, 15 Mar 2018 00:26:31 +0000 (17:26 -0700)]
Expose reference external sequence API
Summary:
* Expose the reference external sequences API for zstdmt.
Allows external sequences of any length, which get split when necessary.
* Reset the LDM window when the context is reset.
* Store the maximum number of LDM sequences.
* Sequence generation now returns the number of last literals.
* Fix sequence generation to not throw out the last literals when blocks of
more than 1 MB are encountered.
Expose reference external sequence API
* Expose the reference external sequences API for zstdmt.
* Allows external sequences of any length, which get split when necessary.
* Reset the LDM window when the context is reset.
* Store the maximum number of LDM sequences.
* Sequence generation now returns the number of last literals.
* Fix sequence generation to not throw out the last literals when blocks of
more than 1 MB are encountered.
Test Plan:
* CI
* Test the zstdmt ldm integration stacked on top of this diff
Reviewers: cyan
Differential Revision: https://phabricator.intern.facebook.com/
D7283968
Tasks: T25664120
Nick Terrell [Thu, 15 Mar 2018 00:26:31 +0000 (17:26 -0700)]
Merge remote-tracking branch 'upstream/dev' into extern-seq
* upstream/dev:
Fix overflow protection with wlog=31
Yann Collet [Thu, 15 Mar 2018 00:20:28 +0000 (17:20 -0700)]
Merge pull request #1035 from terrelln/31-overflow
Fix overflow protection with wlog=31