]>
git.ipfire.org Git - thirdparty/zstd.git/log
Yann Collet [Tue, 11 Dec 2018 01:42:35 +0000 (17:42 -0800)]
fix assert position within ZSTD_compress2()
Yann Collet [Tue, 11 Dec 2018 01:36:20 +0000 (17:36 -0800)]
clarified experimentalParam
Yann Collet [Tue, 11 Dec 2018 01:33:49 +0000 (17:33 -0800)]
fixed ZSTD_compress2()
as suggested by @terrelln
Yann Collet [Thu, 6 Dec 2018 18:57:19 +0000 (10:57 -0800)]
moved ZSTD_WINDOWLOG_LIMIT_DEFAULT into static-linking-only area
Yann Collet [Thu, 6 Dec 2018 18:14:34 +0000 (10:14 -0800)]
clarified usage of word "job"
only applies in MT / async context now.
Yann Collet [Thu, 6 Dec 2018 01:26:02 +0000 (17:26 -0800)]
changed parameter names from ZSTD_p_* to ZSTD_c_*
for naming consistency
Yann Collet [Thu, 6 Dec 2018 00:23:00 +0000 (16:23 -0800)]
updated API documentation
Yann Collet [Wed, 5 Dec 2018 01:30:58 +0000 (17:30 -0800)]
ZSTD_decompressDCtx() is compatible with sticky parameters
Yann Collet [Wed, 5 Dec 2018 01:06:48 +0000 (17:06 -0800)]
merge dedicated dParam setters
Yann Collet [Wed, 5 Dec 2018 00:59:26 +0000 (16:59 -0800)]
write the switch()case: differently
so that it please both
compilers which warn for dead code after the switch
and
compilers which do not detect that all branches terminate.
Yann Collet [Tue, 4 Dec 2018 23:57:16 +0000 (15:57 -0800)]
fixed silent conversion warning
Yann Collet [Tue, 4 Dec 2018 23:54:01 +0000 (15:54 -0800)]
fixed declaration-after-statement warnings
Yann Collet [Tue, 4 Dec 2018 23:35:37 +0000 (15:35 -0800)]
implemented ZSTD_dParam_getBounds()
and ZSTD_DCtx_setParameter()
Yann Collet [Tue, 4 Dec 2018 18:28:36 +0000 (10:28 -0800)]
advanced decompression function replaces by normal streaming one
advanced parameters compatible with ZSTD_decompressStream().
Yann Collet [Mon, 3 Dec 2018 22:22:38 +0000 (14:22 -0800)]
joined normal streaming API with advanced one
Yann Collet [Fri, 30 Nov 2018 23:59:50 +0000 (15:59 -0800)]
preparative for ZSTD_DCtx_setParameter()
Yann Collet [Fri, 30 Nov 2018 19:16:26 +0000 (11:16 -0800)]
created ZSTD_compress2() and ZSTD_compressStream2()
ZSTD_compress_generic() is renamed ZSTD_compressStream2().
Note that, for the time being,
the "stable" API and advanced one use different parameter planes :
setting parameters using the advanced API does not influence ZSTD_compressStream()
and using ZSTD_initCStream() does not influence parameters for ZSTD_compressStream2().
Yann Collet [Thu, 22 Nov 2018 00:18:55 +0000 (16:18 -0800)]
pushed experimental parameters
into ZSTD_STATIC_LINKING_ONLY section
Yann Collet [Wed, 21 Nov 2018 23:37:26 +0000 (15:37 -0800)]
getParameter fills an int*
rather than an unsigned*
for consistency
since type of setParameter() changed to int.
Yann Collet [Wed, 21 Nov 2018 22:47:23 +0000 (14:47 -0800)]
promote ZSTD_findFrameCompressedSize() into staging area
Yann Collet [Wed, 21 Nov 2018 22:36:57 +0000 (14:36 -0800)]
changed hashEveryLog into hashRateLog
Yann Collet [Wed, 21 Nov 2018 00:09:33 +0000 (16:09 -0800)]
fixed fall-through
Yann Collet [Wed, 21 Nov 2018 00:06:00 +0000 (16:06 -0800)]
completed implementation of ZSTD_cParam_getBounds()
for all parameters
Yann Collet [Tue, 20 Nov 2018 23:13:27 +0000 (15:13 -0800)]
fixed remaining searchLength invocations
Yann Collet [Tue, 20 Nov 2018 22:56:07 +0000 (14:56 -0800)]
changed searchLength into minMatch
refactored all relevant API and calls
for consistency.
Yann Collet [Tue, 20 Nov 2018 20:00:20 +0000 (12:00 -0800)]
changed enum type name to ZSTD_ResetDirective
for naming consistency :
types should start with a capital letter (after prefix)
Yann Collet [Tue, 20 Nov 2018 19:53:01 +0000 (11:53 -0800)]
ZSTD_CCtx_setParameter : `value` argument is now `int`
for compatibility with compression level
Yann Collet [Tue, 20 Nov 2018 01:38:15 +0000 (17:38 -0800)]
removed some constants and _simpleArgs() from staging
constants that *may* change in the future
will be accessed through functions instead
(to be created).
_simpleArgs() variant do not have (yet) a clear enough added value
to deserve "stable" status.
Yann Collet [Fri, 16 Nov 2018 00:53:45 +0000 (16:53 -0800)]
fixed fuzz src
Yann Collet [Fri, 16 Nov 2018 00:12:39 +0000 (16:12 -0800)]
updated ZSTD_DCtx_reset()
signature and behavior is now the same as ZSTD_CCtx_reset()
Yann Collet [Thu, 15 Nov 2018 18:52:24 +0000 (10:52 -0800)]
updated manual
Yann Collet [Thu, 15 Nov 2018 18:51:24 +0000 (10:51 -0800)]
Merge branch 'dev' into advancedAPI
fixed rsyncable
Nick Terrell [Thu, 15 Nov 2018 02:43:12 +0000 (18:43 -0800)]
Merge pull request #1416 from terrelln/rsync
- Factor out LDM's hash function for reuse
- Add rsyncable mode to zstdmt and expose it via the advanced API
- Fix `-B`/`--block-size` to actually set the job size
- Add rsyncable tests to `zstreamtest` and `playTests.sh`
Tested by:
```
> cat A.100MB B.100MB C.100MB D.100MB E.100MB | zstd --rsyncable -fo src/file.zst
/*stdin*\ : 48.22% (
524288000 =>
252837782 bytes, src/file.zst)
> rsync -rc --stats src devbigvm:/data/users/terrelln/rsync-test
Total bytes sent:
252868779
total size is
252837782 speedup is 1.00
> echo test > test
> cat test A.100MB test B.100MB test C.100MB test D.100MB test E.100MB | zstd --rsyncable -fo src/file.zst
/*stdin*\ : 48.23% (
524288025 =>
252838025 bytes, src/unicorn.tar.zst)
> rsync -rc --stats src devbigvm:/data/users/terrelln/rsync-test
Total bytes sent:
4605696
total size is
252838025 speedup is 53.60
```
Close #1155.
Nick Terrell [Wed, 14 Nov 2018 21:53:14 +0000 (13:53 -0800)]
[tests] Add rsyncable tests
Nick Terrell [Wed, 14 Nov 2018 20:59:01 +0000 (12:59 -0800)]
[cli] Set the job size
Nick Terrell [Tue, 13 Nov 2018 03:59:42 +0000 (19:59 -0800)]
[cli] Add rsyncable
Nick Terrell [Wed, 14 Nov 2018 20:15:20 +0000 (12:15 -0800)]
[lib] Add rsyncable mode
- Add rsyncable mode to multithreaded mode
- Factor out LDM's hash function for reuse
Yann Collet [Thu, 15 Nov 2018 00:54:54 +0000 (16:54 -0800)]
added advanced decompression api
Yann Collet [Wed, 14 Nov 2018 22:46:49 +0000 (14:46 -0800)]
fixed fuzz test src code
Yann Collet [Wed, 14 Nov 2018 21:05:35 +0000 (13:05 -0800)]
finalized retrofit of ZSTD_CCtx_reset()
updated all depending sources
Yann Collet [Wed, 14 Nov 2018 21:00:37 +0000 (13:00 -0800)]
Merge branch 'dev' into advancedAPI
Yann Collet [Wed, 14 Nov 2018 21:00:08 +0000 (13:00 -0800)]
Merge pull request #1415 from facebook/benchfn
Separating benchfn and benchzstd
Yann Collet [Wed, 14 Nov 2018 20:33:57 +0000 (12:33 -0800)]
modified ZSTD_CCtx_reset()
which now accepts an enum,
to distinguish between resetting the session, or the parameters (or both).
removed ZSTD_CCtx_resetParameters(), which is redundant.
start replacing invocation of ZSTD_CCtx_reset*() functions
Updated advanced API documentation
trimmed down amount of API staged in RC,
in particular, all functions related to ZSTD_CCtxParams()
seem too advanced.
Yann Collet [Wed, 14 Nov 2018 02:09:03 +0000 (18:09 -0800)]
added constant ZSTD_WINDOWLOG_LIMIT_DEFAULT
answering #1407.
Also : removed obsolete function ZSTD_setDStreamParameter()
which could only be used with one parameter (DStream_p_maxWindowSize).
Now replaced by ZSTD_DCtx_setWindowSize() (which exists since a few revisions)
Yann Collet [Wed, 14 Nov 2018 01:36:35 +0000 (17:36 -0800)]
added constant ZSTD_MAGIC_SKIPPABLE_MASK
and updated several API comments
Yann Collet [Wed, 14 Nov 2018 00:56:32 +0000 (16:56 -0800)]
removed some `static const` variables
and replaced by traditional macro constants.
Unfortunately, C doesn't consider `static const` to mean "constant"
Yann Collet [Wed, 14 Nov 2018 00:04:35 +0000 (16:04 -0800)]
circumvent gcc-8 strict aliasing warning
because gcc considers that
`void* const *` and `void**` are 2 different types ...
Yann Collet [Tue, 13 Nov 2018 23:54:05 +0000 (15:54 -0800)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Tue, 13 Nov 2018 23:53:38 +0000 (15:53 -0800)]
bumped version number to v1.3.8
Yann Collet [Tue, 13 Nov 2018 22:15:12 +0000 (14:15 -0800)]
fixed decode-only test condition
Yann Collet [Tue, 13 Nov 2018 21:27:22 +0000 (13:27 -0800)]
fix debug trace
Yann Collet [Tue, 13 Nov 2018 21:22:16 +0000 (13:22 -0800)]
fixed VS2010+ build script
Yann Collet [Tue, 13 Nov 2018 21:16:41 +0000 (13:16 -0800)]
fixed cmake build script
Yann Collet [Tue, 13 Nov 2018 21:05:39 +0000 (13:05 -0800)]
changed benchfn api
to use structure for function parameters
as it expresses much clearer than a long list of parameters,
since each parameter can now be named.
Yann Collet [Tue, 13 Nov 2018 20:01:17 +0000 (12:01 -0800)]
benchfn can provided faulty return value
with BMK_extract_returnValue()
Yann Collet [Tue, 13 Nov 2018 19:01:59 +0000 (11:01 -0800)]
separated bench module into benchfn and benchzstd
it shall be possible to use benchfn
without any dependency on zstd.
Yann Collet [Tue, 13 Nov 2018 01:53:11 +0000 (17:53 -0800)]
Merge pull request #1413 from felixhandte/attach-dict-fix-unsigned-compare
Fix #1412: Perform Signed Comparison When Setting Attach Dict Param
Yann Collet [Tue, 13 Nov 2018 01:05:32 +0000 (17:05 -0800)]
changed PREFETCH() macro into PREFETCH_L2()
which is more accurate
W. Felix Handte [Mon, 12 Nov 2018 22:48:42 +0000 (14:48 -0800)]
Const
W. Felix Handte [Mon, 12 Nov 2018 21:01:14 +0000 (13:01 -0800)]
Fix Fuzz Range
W. Felix Handte [Mon, 12 Nov 2018 20:52:31 +0000 (12:52 -0800)]
Fix Types
W. Felix Handte [Mon, 12 Nov 2018 20:47:47 +0000 (12:47 -0800)]
Switch Enum to Only Non-Negative Values, Update Comments
W. Felix Handte [Mon, 12 Nov 2018 20:07:57 +0000 (12:07 -0800)]
Fix #1412: Perform Signed Comparison When Setting Attach Dict Param
Yann Collet [Fri, 9 Nov 2018 19:31:35 +0000 (11:31 -0800)]
Merge pull request #1411 from facebook/prefetch_dict
Improves decompression speed when using cold dictionary
Yann Collet [Fri, 9 Nov 2018 02:41:58 +0000 (18:41 -0800)]
Merge pull request #1410 from facebook/prefetch_dec
improve long-range decoder speed
Yann Collet [Fri, 9 Nov 2018 01:00:23 +0000 (17:00 -0800)]
Improves decompression speed when using cold dictionary
by triggering the prefetching decoder path
(which used to be dedicated to long-range offsets only).
Figures on my laptop :
no content prefetch : ~300 MB/s (for reference)
full content prefetch : ~325 MB/s (before this patch)
new prefetch path : ~375 MB/s (after this patch)
The benchmark speed is already significant,
but another side-effect is that this version
prefetch less data into memory,
since it only prefetches what's needed, instead of the full dictionary.
This is supposed to help highly active environments
such as active databases,
that can't be properly measured in benchmark environment (too clean).
Also :
fixed the largeNbDict test program
which was working improperly when setting nbBlocks > nbFiles.
Yann Collet [Thu, 8 Nov 2018 21:43:01 +0000 (13:43 -0800)]
Merge pull request #1409 from terrelln/tsan-dict
Add TSAN dictionary tests
Yann Collet [Thu, 8 Nov 2018 20:57:34 +0000 (12:57 -0800)]
reduced assertion strength
one limit case can apparently be generated during fuzzer tests
Yann Collet [Thu, 8 Nov 2018 20:51:42 +0000 (12:51 -0800)]
added a simple test case for decode-only benchmark mode
as it was broken and no one noticed
Yann Collet [Thu, 8 Nov 2018 20:47:46 +0000 (12:47 -0800)]
improve long-range decoder speed
on enwik9 at level 22 (which is almost a worst case scenario),
speed improves by +7% on my laptop (415 -> 445 MB/s)
Yann Collet [Thu, 8 Nov 2018 20:36:39 +0000 (12:36 -0800)]
fixed decompression-only benchmark
Nick Terrell [Thu, 8 Nov 2018 18:59:01 +0000 (10:59 -0800)]
Run TSAN fuzztest
Nick Terrell [Thu, 8 Nov 2018 18:58:51 +0000 (10:58 -0800)]
Add multithreaded dictbuilder tests to fuzzer.c
Nick Terrell [Thu, 8 Nov 2018 18:45:53 +0000 (10:45 -0800)]
Signal before unlocking in pool.c
Yann Collet [Thu, 8 Nov 2018 18:43:40 +0000 (10:43 -0800)]
Merge pull request #1408 from szreder/dev
Prevent deadlock on malloc() failure.
Bartosz Szreder [Thu, 8 Nov 2018 09:29:31 +0000 (10:29 +0100)]
Prevent deadlock on malloc() failure.
Yann Collet [Tue, 6 Nov 2018 21:58:50 +0000 (13:58 -0800)]
Merge pull request #1405 from pitrou/allow_cmake_debug_builds
Allow creating debug builds with CMake
Antoine Pitrou [Tue, 6 Nov 2018 20:24:29 +0000 (21:24 +0100)]
Allow creating debug builds with CMake
Only set the build type to Release if the user didn't select any.
See discussion in https://github.com/facebook/zstd/pull/1278#issuecomment-
436327923
and below.
Yann Collet [Tue, 6 Nov 2018 19:53:20 +0000 (11:53 -0800)]
Merge pull request #1404 from facebook/T36302429
fixed T36302471
Yann Collet [Tue, 6 Nov 2018 01:57:30 +0000 (17:57 -0800)]
Merge pull request #1403 from facebook/assert_opt
just add an assert() in ZSTD_insertBtAndGetAllMatches()
Yann Collet [Tue, 6 Nov 2018 01:50:30 +0000 (17:50 -0800)]
fixed T36302429
Yann Collet [Tue, 30 Oct 2018 01:07:07 +0000 (18:07 -0700)]
just add an assert() in ZSTD_insertBtAndGetAllMatches()
to express a condition on ll0 .
May help static analyzer as in #1397
Yann Collet [Mon, 29 Oct 2018 23:28:09 +0000 (16:28 -0700)]
Merge pull request #1395 from facebook/decompressblock
created zstd_decompress_block module
Yann Collet [Mon, 29 Oct 2018 23:00:26 +0000 (16:00 -0700)]
Merge pull request #1398 from bmwiedemann/pgo
Fix building zstd-pgo
Yann Collet [Mon, 29 Oct 2018 22:03:57 +0000 (15:03 -0700)]
fixed a second memset() on NULL
not sure why it only triggers now,
this code has been around for a while.
Introduced a new error code : dstBuffer_null,
I couldn't express anything even remotely similar with existing error codes set.
Yann Collet [Mon, 29 Oct 2018 20:57:37 +0000 (13:57 -0700)]
fixed memcpy() on NULL warning
memcpy(NULL, src, 0) is undefined behavior.
Yann Collet [Mon, 29 Oct 2018 20:06:45 +0000 (13:06 -0700)]
Merge pull request #1396 from facebook/huf_refactor
refactor HUF_compress_internal for clarity
Bernhard M. Wiedemann [Mon, 29 Oct 2018 16:20:03 +0000 (17:20 +0100)]
pgo: also optimize compression
and clean *.o so that linking does not fail from code
that is partially augmented with coverage generation instructions
Bernhard M. Wiedemann [Mon, 29 Oct 2018 14:11:28 +0000 (15:11 +0100)]
zstd-pgo: do not make clean and zstd in parallel
otherwise, there might not be a ./zstd to run
Yann Collet [Fri, 26 Oct 2018 23:38:23 +0000 (16:38 -0700)]
added flag -Wc++-compat
for library and cli
Yann Collet [Fri, 26 Oct 2018 22:57:13 +0000 (15:57 -0700)]
renamed NEWS as CHANGELOG
to conform fb publication rules.
Yann Collet [Fri, 26 Oct 2018 22:51:51 +0000 (15:51 -0700)]
minor clarifications of history update rules
Yann Collet [Fri, 26 Oct 2018 22:29:07 +0000 (15:29 -0700)]
Merge pull request #1392 from coetry/dev
provide consistent spacing to enum field
Yann Collet [Fri, 26 Oct 2018 22:28:44 +0000 (15:28 -0700)]
Merge pull request #1394 from terrelln/circleci-packaging
Publish uncompressed, zstd, and gzipped packages
Yann Collet [Fri, 26 Oct 2018 22:25:01 +0000 (15:25 -0700)]
Merge branch 'dev' into huf_Refactor
Yann Collet [Fri, 26 Oct 2018 22:21:52 +0000 (15:21 -0700)]
added a few comments for clarifications
Yann Collet [Fri, 26 Oct 2018 22:00:00 +0000 (15:00 -0700)]
Merge branch 'dev' into decompressblock
Yann Collet [Fri, 26 Oct 2018 21:43:16 +0000 (14:43 -0700)]
Merge pull request #1390 from facebook/nullAsOutput
support decompressing an empty frame into NULL
Allen Hai [Fri, 26 Oct 2018 21:16:06 +0000 (16:16 -0500)]
vertically align code comment
Yann Collet [Fri, 26 Oct 2018 20:21:37 +0000 (13:21 -0700)]
refactor HUF_compress_internal for clarity
changed workspace parameter convention
to always provide workspaceSize,
so that size can be explicitly checked.
Also, use more enum to make the meaning of some parameters more explicit.