From 8ef666c32509e35ebbae8229a2b15ca9d4af493d Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Wed, 12 Jul 2017 14:23:34 -0700 Subject: [PATCH] slightly increased buffer pool, to cover normal "full load" scenarios 2 buffers per active worker + 1 buffer for input loading + 1 buffer for "next input" when submitting current one + 1 buffer stuck in queue --- NEWS | 3 ++- lib/compress/zstdmt_compress.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 5bf184e8d..457105070 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ v1.3.1 +perf: substantially decreased memory usage in Multi-threading mode, thanks to reports by Tino Reichardt build: fix Visual compilation for non x86/x64 targets, reported by Greg Slazinski (#718) -API exp : breaking change : ZSTD_getframeHeader() +API exp : breaking change : ZSTD_getframeHeader() provides more information v1.3.0 cli : new : `--list` command, by Paul Cruz diff --git a/lib/compress/zstdmt_compress.c b/lib/compress/zstdmt_compress.c index 3fdfe9e14..677e96f08 100644 --- a/lib/compress/zstdmt_compress.c +++ b/lib/compress/zstdmt_compress.c @@ -93,7 +93,7 @@ typedef struct ZSTDMT_bufferPool_s { static ZSTDMT_bufferPool* ZSTDMT_createBufferPool(unsigned nbThreads, ZSTD_customMem cMem) { - unsigned const maxNbBuffers = 2*nbThreads + 2; + unsigned const maxNbBuffers = 2*nbThreads + 3; ZSTDMT_bufferPool* const bufPool = (ZSTDMT_bufferPool*)ZSTD_calloc( sizeof(ZSTDMT_bufferPool) + (maxNbBuffers-1) * sizeof(buffer_t), cMem); if (bufPool==NULL) return NULL; -- 2.47.2