Aquí hi ha 2 versions de xxhsum, des de 30 de desembre del 2024 fins a l’actual, 0.8.4. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
2 versions en 2 anys · unes 1,2 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 0.8.4Darrera versió | 19 de setembre del 2026 | — | 64 bits ZIP Notes de la versióxxHash v0.8.4 is a general maintenance update, offering broader hardware acceleration, command line enhancements, and more predictable builds across platforms. No change to the API entry points.
Faster performance with vectorization
This release adds several vectorized implementations: for the RISC-V Vector extension and LoongArch LASX, together with improvements to the existing LSX implementation.
On aarch64, XXH3 now prefers NEON over SVE. On tested processors, this improves performance by 25–40%. XXH3 streaming performance has also been improved for workloads made of small updates.
Command-line enhancements
xxhsum can now receive a full 64-bit seed through -s or --seed.
Command-line parsing is more flexible: options may appear anywhere, even after filenames, while -- explicitly terminates option processing.
When processing a list of files, read errors no longer prevent subsequent files from being processed.
Windows support received a substantial update, notably for long paths, UNC paths and filenames containing components that require extended Win32 path handling.
Build and integration
Runtime dispatch detection has been corrected for cross-compilation and non-x86 targets.
make builds now isolate object files by configuration, avoiding accidental reuse across incompatible flag sets and allowing parallel test builds.
The cmake integration moved from cmake_unofficial to build/cmake. Projects referring directly to the previous directory must update that path.
Low-level integrations can now redirect XXH_memcpy(), XXH_memset() and XXH_memcmp(). A new XXH_NO_EXTERNC_GUARD macro is also available for projects that need to manage C++ linkage themselves.
Correctness and portability
A strict-aliasing issue that could cause gcc to miscompile some unaligned reads has been fixed. This release also addresses combinations involving XXH_INLINE_ALL, namespaces and x86 runtime dispatch, system headers included from an extern "C" block, and MSVC link-time optimization with warnings enabled as errors.
Portability improvements include compatibility with ARM builds using GCC versions older than 8, C++ compilation on Solaris and illumos, and improved installation metadata and paths on Windows and FreeBSD.
Detailed changelist
- perf : added RISC-V Vector extension (RVV) implementation, by @zijianli1234, @BoBoDai and @camel-cdr
- perf : added LoongArch LASX implementation and improved LSX, by @24bit-xjkp
- perf : prefer NEON over SVE on AArch64, improving XXH3 speed by 25–40%, by @Nicoshev
- perf : improved XXH3 streaming speed for very small updates, suggested by @aleksazr
- api : XXH_memcpy(), XXH_memset() and XXH_memcmp() can be redirected at compile time
- api : new XXH_NO_EXTERNC_GUARD build macro for complex C++ integration
- cli : added 64-bit seed support (-s, --seed), by @d06i
- cli : options can appear after filenames; -- terminates option parsing, #1098 reported by @unterkomplex
- cli : continue processing subsequent files after read errors, #1064 reported by @ZoomRmc
- cli : support long and special Windows paths, #1060, based on #1061 by @t-mat
- cli : improved benchmark accuracy, error handling and unit labels, #1051 reported by @calgray
- fix : unaligned reads could be miscompiled by GCC under strict aliasing, #1013 by @lassipulkkinen
- fix : XXH_INLINE_ALL compatibility with XXH_NAMESPACE and x86 runtime dispatch, by @pps83, #1071 reported by @Dr-Hex
- fix : avoid including system headers inside an extern "C" block, #1122 reported by @andreas-schwab
- fix : compilation with MSVC link-time optimization and warnings as errors, #1038 reported by @mi2think
- build: improved runtime dispatch detection for cross-compilation and non-x86 targets, with help from @eworm-de, #1081 reported by @PotMJ
- build: LIBXXH_DISPATCH=1 now applies to static and dynamic libraries, #1058 reported by @xiota
- build: Make builds now isolate objects by configuration and support parallel test builds
- build: moved CMake integration to build/cmake and impr |
| 0.8.3 | 30 de desembre del 2024 | — | 64 bits ZIP Notes de la versióxxHash v0.8.3 is a maintenance update, featuring a bug fix and several quality of life improvements.
Bug Fix
- XXH3_128bits_withSecretandSeed()
Corrects an edge case (#894) that could generate invalid results. Users of this function should upgrade. Thanks to @hltj for the report and fix.
Command-Line Improvements
- Runtime Vector Extension on x86
xxhsum automatically detects and employs the best available vector extension (SSE, AVX, etc.) on x86/x64 cpus. Previously, this required an explicit build macro; it is now enabled by default. Maintainers can still control it manually, and can disable it with DISPATCH=0.
- --filelist / --files-from
Accepts file names from a text file or stdin, simplifying bulk hashing. Kudos to @Ian-Clowes for the idea and implementation.
- Short GNU Format for XXH3
A new -H3 mode generates XXH3 64-bit hashes with a XXH3_ prefix, neatly distinguishing them from XXH64. The symlink xxh3sum defaults to this mode.
Portability
- LoongArch SX SIMD Support
Includes an optimized LoongArch SX implementation of xxh3 (courtesy of @lrzlin).
- Extended Platform Coverage
Validated builds for AIX OS and SPARC CPUs.
New Contributors
- @scribam made their first contribution in #859
- @klemensn made their first contribution in #880
- @thestr4ng3r made their first contribution in #878
- @cclauss made their first contribution in #895
- @nathaniel-brough made their first contribution in #906
- @crosdahl made their first contribution in #932
- @pps83 made their first contribution in #931
- @hltj made their first contribution in #894
- @spaette made their first contribution in #953
- @mofosyne made their first contribution in #954
- @Ian-Clowes made their first contribution in #972
- @crrodriguez made their first contribution in #976
- @lrzlin made their first contribution in #981 |