summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorYann Collet <yann.collet.73@gmail.com>2016-06-29 11:43:11 (GMT)
committerYann Collet <yann.collet.73@gmail.com>2016-06-29 12:07:54 (GMT)
commit8938e10742d24db80fa7038921525286122445a9 (patch)
treecd5a635c3d89a770417fc8bbc400fd64e77cabf7 /lib
parentc77c0c1086bf55342da95a7e94021be860919771 (diff)
downloadlz4-8938e10742d24db80fa7038921525286122445a9.zip
lz4-8938e10742d24db80fa7038921525286122445a9.tar.gz
lz4-8938e10742d24db80fa7038921525286122445a9.tar.bz2
minor compression speed improvement
Diffstat (limited to 'lib')
-rw-r--r--lib/lz4.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/lz4.c b/lib/lz4.c
index 89eef2f..f162fe1 100644
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -605,9 +605,10 @@ _next_match:
if (matchCode >= ML_MASK) {
*token += ML_MASK;
matchCode -= ML_MASK;
- for (; matchCode >= 510 ; matchCode-=510) { *op++ = 255; *op++ = 255; }
- if (matchCode >= 255) { matchCode-=255; *op++ = 255; }
- *op++ = (BYTE)matchCode;
+ *(U32*)op = 0xFFFFFFFF;
+ while (matchCode >= 4*255) op+=4, *(U32*)op=0xFFFFFFFF, matchCode -= 4*255;
+ op += matchCode / 255;
+ *op++ = (BYTE)(matchCode % 255);
} else
*token += (BYTE)(matchCode);
}