From 0f6cbd996fbaade6715c7009c6f8dbb0f23f0b4b Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Mon, 2 Dec 2019 16:38:33 -0800 Subject: faster decoding speed with Visual by enabling the fast decoder path. Visual requires a different set of macro constants to detect x86 / x64. On my laptop, decoding speed on x64 went up from 3.12 to 3.45 GB/s. 32-bit is less impressive, though still favorable, with speed increasing from 2.55 to 2.60 GB/s. So both cases are now enabled. Suggested by Bartosz Taudul (@wolfpld). --- .gitignore | 3 +++ lib/lz4.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2a59a7d..d7ba96e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,9 @@ _codelite_lz4/ bin/ *.zip +# analyzers +infer-out + # Mac .DS_Store *.dSYM diff --git a/lib/lz4.c b/lib/lz4.c index 85c3322..866855b 100644 --- a/lib/lz4.c +++ b/lib/lz4.c @@ -374,12 +374,12 @@ static const int dec64table[8] = {0, 0, 0, -1, -4, 1, 2, 3}; #ifndef LZ4_FAST_DEC_LOOP -# if defined(__i386__) || defined(__x86_64__) +# if defined __i386__ || defined _M_IX86 || defined __x86_64__ || defined _M_X64 # define LZ4_FAST_DEC_LOOP 1 # elif defined(__aarch64__) && !defined(__clang__) /* On aarch64, we disable this optimization for clang because on certain - * mobile chipsets and clang, it reduces performance. For more information - * refer to https://github.com/lz4/lz4/pull/707. */ + * mobile chipsets, performance is reduced with clang. For information + * refer to https://github.com/lz4/lz4/pull/707 */ # define LZ4_FAST_DEC_LOOP 1 # else # define LZ4_FAST_DEC_LOOP 0 -- cgit v0.12