summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Collet <cyan@fb.com>2017-11-08 01:37:31 (GMT)
committerYann Collet <cyan@fb.com>2017-11-08 01:37:31 (GMT)
commit897f5e9834ed4e8b4e34380b12a6b9e7b911af90 (patch)
treea0b46f03de54c2ad7ec05c01fdf73f972e4c04a0
parent71fd08c17daa3deee0c2c3c64c8f009729055bad (diff)
downloadlz4-897f5e9834ed4e8b4e34380b12a6b9e7b911af90.zip
lz4-897f5e9834ed4e8b4e34380b12a6b9e7b911af90.tar.gz
lz4-897f5e9834ed4e8b4e34380b12a6b9e7b911af90.tar.bz2
removed the ip++ at the beginning of block
The first byte used to be skipped to avoid a infinite self-comparison. This is no longer necessary, since init() ensures that index starts at 64K. The first byte is also useless to search when each block is independent, but it's no longer the case when blocks are linked. Removing the first-byte-skip saves about 10 bytes / MB on files compressed with -BD4 (linked blocks 64Kb), which feels correct as each MB has 16 blocks of 64KB.
-rw-r--r--lib/lz4hc.c2
-rw-r--r--lib/lz4opt.h1
2 files changed, 0 insertions, 3 deletions
diff --git a/lib/lz4hc.c b/lib/lz4hc.c
index 3498391..5e2dd2a 100644
--- a/lib/lz4hc.c
+++ b/lib/lz4hc.c
@@ -429,8 +429,6 @@ static int LZ4HC_compress_hashChain (
if (limit == limitedDestSize) oend -= LASTLITERALS; /* Hack for support limitations LZ4 decompressor */
if (inputSize < LZ4_minLength) goto _last_literals; /* Input too small, no compression (all literals) */
- ip++;
-
/* Main Loop */
while (ip < mflimit) {
ml = LZ4HC_InsertAndFindBestMatch (ctx, ip, matchlimit, (&ref), maxNbAttempts);
diff --git a/lib/lz4opt.h b/lib/lz4opt.h
index dd22b7a..03ab825 100644
--- a/lib/lz4opt.h
+++ b/lib/lz4opt.h
@@ -127,7 +127,6 @@ static int LZ4HC_compress_optimal (
/* init */
DEBUGLOG(5, "LZ4HC_compress_optimal");
if (sufficient_len >= LZ4_OPT_NUM) sufficient_len = LZ4_OPT_NUM-1;
- ip++;
/* Main Loop */
assert(ip - anchor < LZ4_MAX_INPUT_SIZE);