Yann Collet
b18cb7e0b7
zstreamtest : slightly decreased time to build dictionary size
2018-03-20 16:18:48 -07:00
Yann Collet
6cda8c932c
added test with ZSTD_decompress_generic() + ZSTD_DCtx_refPrefix()
...
also :
clarified stage condition to accept new parameters,
fixed initializers correspondingly.
2018-03-20 16:16:13 -07:00
Yann Collet
2af41592ea
added a test with ZSTD_decompress_generic() + ZSTD_DCtx_loadDictionary_byReference()
2018-03-20 15:59:25 -07:00
Yann Collet
6873fec658
changed dictMore for dictContentType
...
which seems clearer to describe what the variable/argument is about.
2018-03-20 15:13:14 -07:00
Yann Collet
209df52ba2
Changed nbThreads for nbWorkers
...
This makes it easier to explain that nbWorkers=0 --> single-threaded mode,
while nbWorkers=1 --> asynchronous mode (one mode thread on top of the "main" caller thread).
No need for an additional asynchronous mode flag.
nbWorkers>=2 works the same as nbThreads>=2 previously.
2018-02-01 19:29:30 -08:00
Nick Terrell
48acaddff9
Test for incorrect pledgeSrcSize earlier
2018-02-01 12:04:05 -08:00
Yann Collet
727bb7f090
Merge pull request #1008 from terrelln/hlog3
...
Fix hashLog3 size when copying cdict tables
2018-01-31 12:49:07 -08:00
Nick Terrell
ab3346af07
Fix hashLog3 size when copying cdict tables
2018-01-31 11:12:17 -08:00
Yann Collet
9c40ae7ff1
zstdmt: there is now one mutex/cond per job
2018-01-26 17:55:08 -08:00
Yann Collet
8e128eaf05
zstdmt : refactor job members
...
grouped by sharing properties
2018-01-26 10:20:38 -08:00
Yann Collet
4f7c896113
zstdmt : fixed complex sequencing bug
...
zstdmt would shortcut to single-thread blocking mode
in some rare cases where data is sent to be compressed but is not yet ready.
2018-01-23 18:00:51 -08:00
Yann Collet
c1cc57f270
zstdmt : fix end condition (ZSTD_e_end)
...
When ZSTD_e_end directive is provided,
the question is not only "are internal buffers completely flushed",
it is also "is current frame completed".
In some rare cases,
it was possible for internal buffers to be completely flushed,
triggering a @return == 0,
but frame was not completed as it needed a last null-size block to mark the end,
resulting in an unfinished frame.
2018-01-23 15:19:11 -08:00
Yann Collet
ebd955e26a
zstdmt : fixed ending frame with 0-size block
2018-01-23 13:12:40 -08:00
Yann Collet
6711396d97
zstreamtest : fixed test 32 : multi-thread compression
...
using ZSTD_compress_generic(,,ZSTD_e_end)
Since it already provides ZSTD_e_end as directive,
it should not be followed by ZSTDMT_endStream().
2018-01-19 22:20:53 -08:00
Yann Collet
3ad7d4951c
zstdmt : finally vanquished an elusive and rare race condition
2018-01-19 17:35:08 -08:00
Yann Collet
940634a610
zstdmt : simplify job creation
...
job will not be created when not enough room within job Table
2018-01-19 13:25:06 -08:00
Yann Collet
dc69623453
zstdmt: fixed corruption issue in ZSTDMT_endStream()
...
when invoked directly.
2018-01-19 12:41:56 -08:00
Yann Collet
6f7280fb33
fixed frame checksum issue
...
and race conditions
2018-01-18 16:20:26 -08:00
Yann Collet
2e23333094
ZSTDMT can now work in non-blocking mode with 1 thread
...
it still fallbacks to single-thread blocking invocation
when input is small (<1job)
or when invoking ZSTDMT_compress(), which is blocking.
Also : fixed a bug in new block-granular compression routine.
2018-01-16 15:28:43 -08:00
Yann Collet
cafedcbbe4
ZSTD_resetCCtx_internal: fixed order of arguments
...
params1 was swapped with params2.
This used to be a non-issue when testing for strict equality,
but now that some tests look for "sufficient size" `<=`, order matters.
2017-12-19 21:49:04 +01:00
Yann Collet
d23eb9a098
zstreamtest : added missing CHECK_Z()
2017-12-13 15:35:49 -08:00
Yann Collet
e28305fcca
fix #944 : ZSTDMT with large files and dictionary now works correctly
...
windowLog is now enforced from provided compression parameters,
instead of being copied blindly from `cdict`
where it could be smaller.
also :
- fix a minor bug in zstreamtest --mt : advanced parameters must be set before init
- changed advanced parameter name to ZSTDMT_jobSize
2017-12-12 18:04:58 -08:00
Yann Collet
03832b7aa5
re-added test case
...
messing with revert ... :(
2017-12-12 14:01:54 -08:00
Yann Collet
8a104fda05
Revert "Created a test case which reliably reproduces bug #944 "
...
This reverts commit 5098d1fbe2
.
2017-12-12 12:51:49 -08:00
Yann Collet
5098d1fbe2
Created a test case which reliably reproduces bug #944
...
in zstreamtest.
2017-12-12 12:48:31 -08:00
Yann Collet
21f7672d43
zstreamtest : add test which detects when ZSTD_initCStream() inflate data
...
as in #942 , when ZSTD_initCStream() believes data is empty, instead of unknown.
2017-12-07 03:06:01 -05:00
Yann Collet
7e05ef851a
Merge branch 'dev' into qemu32panic
2017-12-03 11:14:36 -08:00
Nick Terrell
dab8cfa3c7
Combine definitions of SEC_TO_MICRO
2017-11-30 19:40:53 -08:00
Nick Terrell
9a2f6f477b
Use util.h for timing
2017-11-30 14:57:25 -08:00
Yann Collet
d3c59edac9
removed long-range-mode tests from zstreamtest --no-big-tests
2017-11-29 16:42:20 -08:00
Yann Collet
bd88f633ac
zstreamtest : in -T#s
, s considered a suffix meaning "seconds"
...
avoid unintentionnally triggering `seedset`,
so that seed gets automatically determined when not set.
2017-11-27 12:15:23 -08:00
Yann Collet
15768cabb5
fixed some complex scenarios
...
Fixed : multithreading to compress some small data with dictionary
Fixed : ZSTD_initCStream_usingCDict()
Improved streaming memory usage when pledgedSrcSize is known.
2017-11-16 15:18:18 -08:00
Yann Collet
aec56a52fb
Merge pull request #908 from facebook/ubsan
...
Modified one pointer arithmetic expression to a more conformant way.
2017-11-07 11:45:34 -08:00
Yann Collet
3b59a01039
fixed zstreamtest declaration after statement
2017-11-01 17:36:31 -07:00
Yann Collet
150354c5fe
minor refactor
...
added some traces and assert
related to hunting a potential ubsan error in 32-bits more
(it ends up being a compiler-side issue : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82802 ).
Modified one pointer arithmetic expression for a more conformant way.
2017-11-01 16:57:48 -07:00
Nick Terrell
e19b0822bc
Test large skippable frames
2017-11-01 13:10:03 -07:00
Yann Collet
1ff8a8c109
Merge pull request #891 from facebook/contentSize
...
Content size
2017-10-17 17:24:51 -07:00
Nick Terrell
e600b5d0da
[test] Exercise all codes in dictionary tables
2017-10-16 18:05:36 -07:00
Yann Collet
beb9b4b398
fixed ZSTDMT_initCStream() when contentSizeFlag==1 by default
...
and a wrong test in zstreamtest --mt
2017-10-13 19:09:30 -07:00
Yann Collet
213ef3b510
fixed ZSTD_initCStream_advanced() behavior, which depends on contentSizeFlag,
...
and a stream fuzzer test, which was incorrect
(relied on 0 being unconditionnally transformed into `ZSTD_CONTENTSIZE_UNKNOWN`)
2017-10-13 19:01:58 -07:00
Yann Collet
3c1e3f8ec9
contentSizeFlag enabled by default would also fail for streaming and MT operations
...
fixed
2017-10-13 18:32:06 -07:00
Yann Collet
e0065cf660
make test : removed zstreamtest unit tests for variants
...
slightly reduced time to create dictionary
at beginning of unit tests
2017-09-28 18:34:38 -07:00
Yann Collet
47c6a95d07
zstreamtest : run unit tests only during "normal" session
...
not during --mt, --newapi and --opaque
this avoids running them 4x during `make test`
2017-09-28 18:27:22 -07:00
Yann Collet
e4ec427720
Merge branch 'dev' into shorterTests
...
fixed conflicts
2017-09-28 12:19:28 -07:00
Yann Collet
bbef058ae6
zstreamtest --newapi : reduced maximum allocated memory
2017-09-28 11:48:45 -07:00
Yann Collet
d6770f80af
minor : rewrite unit tests using CHECK_Z macro
2017-09-28 02:14:48 -07:00
Yann Collet
9fe50ed623
fixed maximum windowLog for zstreamtest --newapi
...
for compatibility with low memory VM
2017-09-28 01:42:06 -07:00
Yann Collet
9b5b47ac93
ensure adjustCParams adjust hLog and cLog even without srcSize
...
It would previously exit when srcSize is unknown.
But in the case of custom parameters,
hLog and cLog can still be too large in comparison with windowLog.
Reduces maximum memory allocated during zstreamtest --newapi
2017-09-28 01:25:40 -07:00
Yann Collet
aa800c4793
reduced memory usage of zstreamtest --newapi
...
to run on memory-constrained VM
2017-09-27 18:00:15 -07:00
Yann Collet
bc32b40b98
reduced zstreamtest --mt memory load
...
adjust compression level, hence memory usage, depending on nb threads
in order to run correctly on memory-starved VM.
2017-09-27 17:27:38 -07:00