|
#if defined(ZSTD_ARCH_X86_SSE2) || defined(ZSTD_ARCH_ARM_NEON) |
|
int const kHasSIMD128 = 1; |
|
#else |
|
int const kHasSIMD128 = 0; |
|
#endif |
|
if (mode != ZSTD_ps_auto) return mode; /* if requested enabled, but no SIMD, we still will use row matchfinder */ |
|
mode = ZSTD_ps_disable; |
|
if (!ZSTD_rowMatchFinderSupported(cParams->strategy)) return mode; |
|
if (kHasSIMD128) { |
|
if (cParams->windowLog > 14) mode = ZSTD_ps_enable; |
|
} else { |
|
if (cParams->windowLog > 17) mode = ZSTD_ps_enable; |
We haven't historically strongly guarantee reproducibility across compilations on different systems. However, we've been moving in this direction. We should consider removing this source of difference, either by default or by opting into reproducible mode via a flag. I'm leaning towards by default, because I think this is one of the few places left where we have differences in compressed output based on the platform.
zstd/lib/compress/zstd_compress.c
Lines 238 to 249 in 0ff651d
We haven't historically strongly guarantee reproducibility across compilations on different systems. However, we've been moving in this direction. We should consider removing this source of difference, either by default or by opting into reproducible mode via a flag. I'm leaning towards by default, because I think this is one of the few places left where we have differences in compressed output based on the platform.