zstd/lib/compress
Yann Collet 1dba98d563 introduced parameter ZSTD_p_nonBlockingMode
This new parameter makes it possible to call
streaming ZSTDMT with a single thread set
which is non blocking.

It makes it possible for the main thread to do other tasks in parallel
while the worker thread does compression.
Typically, for zstd cli, it means it can do I/O stuff.

Applied within fileio.c, this patch provides non-negligible gains during compression.

Tested on my laptop, with enwik9 (1000000000 bytes) : time zstd -f enwik9

With traditional single-thread blocking mode :
real    0m9.557s
user    0m8.861s
sys     0m0.538s

With new single-worker non blocking mode :
real    0m7.938s
user    0m8.049s
sys     0m0.514s

=> 20% faster
2018-01-16 16:15:47 -08:00
..
fse_compress.c [zstd] Backport kernel patch from @ColinIanKing 2017-09-25 16:18:23 -07:00
huf_compress.c fixed #304 2018-01-11 11:16:32 -08:00
zstd_compress_internal.h introduced parameter ZSTD_p_nonBlockingMode 2018-01-16 16:15:47 -08:00
zstd_compress.c introduced parameter ZSTD_p_nonBlockingMode 2018-01-16 16:15:47 -08:00
zstd_double_fast.c Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_double_fast.h Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_fast.c Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_fast.h Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_lazy.c Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_lazy.h Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_ldm.c Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_ldm.h Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_opt.c Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstd_opt.h Split ZSTD_CCtx into smaller sub-structures 2018-01-16 11:17:50 -08:00
zstdmt_compress.c introduced parameter ZSTD_p_nonBlockingMode 2018-01-16 16:15:47 -08:00
zstdmt_compress.h introduced parameter ZSTD_p_nonBlockingMode 2018-01-16 16:15:47 -08:00