| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fixed MEM_STATIC already defined in Linux Kernel mode | 3 年前 | |
fix conversion warning | 1 年前 | |
Check STATIC_BMI2 instead of STATIC_BMI2 == 1 | 1 年前 | |
- Modify the GCC version used for CI testing of the RISCV architecture - Fix a bug in the ZSTD_row_getRVVMask function - Improve some performance for ZSTD_copy16() | 9 个月前 | |
Disallow 32-bit mode in clang section Fix register %rbx is only available in 64-bit mode | 1 年前 | |
[debug] Don't define g_debuglevel in the kernel We only use this constant when DEBUGLEVEL>=2, but we get -Werror=pedantic errors for empty translation units, so still define it except in kernel environments. Backport from the kernel: https://lore.kernel.org/lkml/20230616144400.172683-1-ben.dooks@codethink.co.uk/ | 2 年前 | |
Oopsie with huf.h, debug.h | 1 年前 | |
[huf] Add generic C versions of the fast decoding loops Add generic C versions of the fast decoding loops to serve architectures that don't have an assembly implementation. Also allow selecting the C decoding loop over the assembly decoding loop through a zstd decompression parameter ZSTD_d_disableHuffmanAssembly. I benchmarked on my Intel i9-9900K and my Macbook Air with an M1 processor. The benchmark command forces zstd to compress without any matches, using only literals compression, and measures only Huffman decompression speed: zstd -b1e1 --compress-literals --zstd=tlen=131072 silesia.tar The new fast decoding loops outperform the previous implementation uniformly, but don't beat the x86-64 assembly. Additionally, the fast C decoding loops suffer from the same stability problems that we've seen in the past, where the assembly version doesn't. So even though clang gets close to assembly on x86-64, it still has stability issues. | Arch | Function | Compiler | Default (MB/s) | Assembly (MB/s) | Fast (MB/s) | |---------|----------------|--------------|----------------|-----------------|-------------| | x86-64 | decompress 4X1 | gcc-12.2.0 | 1029.6 | 1308.1 | 1208.1 | | x86-64 | decompress 4X1 | clang-14.0.6 | 1019.3 | 1305.6 | 1276.3 | | x86-64 | decompress 4X2 | gcc-12.2.0 | 1348.5 | 1657.0 | 1374.1 | | x86-64 | decompress 4X2 | clang-14.0.6 | 1027.6 | 1659.9 | 1468.1 | | aarch64 | decompress 4X1 | clang-12.0.5 | 1081.0 | N/A | 1234.9 | | aarch64 | decompress 4X2 | clang-12.0.5 | 1270.0 | N/A | 1516.6 | | 3 年前 | |
add dedicated error code for special case ZSTD_compressSequencesAndLiterals() cannot produce an uncompressed block | 1 年前 | |
Remove extern C blocks from lib/* internal APIs (except xxhash.h) | 1 年前 | |
minor: generalize BitContainerType technically equivalent to size_t, but it's the proper type for underlying register representation. This makes it possible to control register type, and therefore size, independently from size_t, which can be useful on systems where size_t is 32-bit, while the architecture supports 64-bit registers. | 1 年前 | |
Throw error if Huffman weight initial states are truncated | 2 年前 | |
Remove extern C blocks from lib/* internal APIs (except xxhash.h) | 1 年前 | |
Use _M_X64 only without mixing with _M_AMD64 | 1 年前 | |
playTests.sh does no longer needs grep -E it makes the test script more portable across posix systems because grep -E is not guaranteed while grep is fairly common. | 2 年前 | |
Remove extern C blocks from lib/* internal APIs (except xxhash.h) | 1 年前 | |
Add a method for checking if ZSTD was compiled with flags that impact determinism | 1 年前 | |
🔧 Fix memory leak in pthread init functions on failure When pthread_mutex_init() or pthread_cond_init() fails in the debug implementation (DEBUGLEVEL >= 1), the previously allocated memory was not freed, causing a memory leak. This fix ensures that allocated memory is properly freed when pthread initialization functions fail, preventing resource leaks in error conditions. The issue affects: - ZSTD_pthread_mutex_init() at lib/common/threading.c:146 - ZSTD_pthread_cond_init() at lib/common/threading.c:167 This is particularly important for long-running applications or scenarios with resource constraints where pthread initialization might fail due to system limits. | 9 个月前 | |
Remove extern C blocks from lib/* internal APIs (except xxhash.h) | 1 年前 | |
update license text | 2 年前 | |
Use _M_X64 only without mixing with _M_AMD64 | 1 年前 | |
Add a method for checking if ZSTD was compiled with flags that impact determinism | 1 年前 | |
[zstd][android] Fix build with NDK r27 The NDK cross compiler declares the target as __linux (which is not technically incorrect), which triggers the enablement of _GNU_SOURCE in the newly added code that requires the presence of qsort_r() used in the COVER dictionary code. Even though the NDK uses llvm/libc, it doesn't declare qsort_r() in the stdlib.h header. The build fix is to only activate the _GNU_SOURCE macro if the OS is *not* Android, as then we will fallback to the C90 compliant code. This patch should solve the reported issue number #4103. | 1 年前 | |
- Modify the GCC version used for CI testing of the RISCV architecture - Fix a bug in the ZSTD_row_getRVVMask function - Improve some performance for ZSTD_copy16() | 9 个月前 | |
Merge pull request #4218 from facebook/externC Move #includes out of extern "C" blocks | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 |