From 6062b15a073eca53ceadaa86a577e5c413246a5e Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Tue, 16 Feb 2016 17:41:03 +0100 Subject: [PATCH] performance fix for hash chain mode --- lib/zstd_compress.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/zstd_compress.c b/lib/zstd_compress.c index 45716156..389cf4f7 100644 --- a/lib/zstd_compress.c +++ b/lib/zstd_compress.c @@ -1411,7 +1411,8 @@ static size_t ZSTD_BtFindBestMatch_selectMLS_extDict ( /* Update chains up to ip (excluded) Assumption : always within prefix (ie. not within extDict) */ -static U32 ZSTD_insertAndFindFirstIndex (ZSTD_CCtx* zc, const BYTE* ip, U32 mls) +FORCE_INLINE +U32 ZSTD_insertAndFindFirstIndex (ZSTD_CCtx* zc, const BYTE* ip, U32 mls) { U32* const hashTable = zc->hashTable; const U32 hashLog = zc->params.hashLog; @@ -1613,7 +1614,7 @@ void ZSTD_compressBlock_lazy_generic(ZSTD_CCtx* ctx, break; /* nothing found : store previous solution */ } - /* catch up */ + /* catch up */ if (offset) { while ((start>anchor) && (start>base+offset) && (start[-1] == start[-1-offset])) /* only search for offset within prefix */ { start--; matchLength++; }