mirror of
https://github.com/facebook/zstd.git
synced 2025-10-04 00:02:33 -04:00
double-fast: changed the trade-off for a smaller positive change
same number of complementary insertions, just organized differently (long at `ip-2`, short at `ip-1`).
This commit is contained in:
parent
d1327738c2
commit
e8a7f5d3ce
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,7 +14,7 @@
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
zstd.
|
||||
/zstd
|
||||
zstdmt
|
||||
*.exe
|
||||
*.out
|
||||
|
@ -257,19 +257,10 @@ _match_stored:
|
||||
/* Complementary insertion */
|
||||
/* done after iLimit test, as candidates could be > iend-8 */
|
||||
{ U32 const indexToInsert = current+2;
|
||||
hashLong[ZSTD_hashPtr(base+indexToInsert, hBitsL, 8)] =
|
||||
hashSmall[ZSTD_hashPtr(base+indexToInsert, hBitsS, mls)] =
|
||||
indexToInsert;
|
||||
}
|
||||
{ const BYTE* const ipToInsert = ip - 2;
|
||||
hashLong[ZSTD_hashPtr(ipToInsert, hBitsL, 8)] =
|
||||
hashSmall[ZSTD_hashPtr(ipToInsert, hBitsS, mls)] =
|
||||
(U32)(ipToInsert-base);
|
||||
}
|
||||
{ const BYTE* const ipToInsert = ip - 1;
|
||||
hashLong[ZSTD_hashPtr(ipToInsert, hBitsL, 8)] =
|
||||
hashSmall[ZSTD_hashPtr(ipToInsert, hBitsS, mls)] =
|
||||
(U32)(ipToInsert-base);
|
||||
hashLong[ZSTD_hashPtr(base+indexToInsert, hBitsL, 8)] = indexToInsert;
|
||||
hashLong[ZSTD_hashPtr(ip-2, hBitsL, 8)] = (U32)(ip-2-base);
|
||||
hashSmall[ZSTD_hashPtr(base+indexToInsert, hBitsS, mls)] = indexToInsert;
|
||||
hashSmall[ZSTD_hashPtr(ip-1, hBitsS, mls)] = (U32)(ip-1-base);
|
||||
}
|
||||
|
||||
/* check immediate repcode */
|
||||
|
Loading…
x
Reference in New Issue
Block a user