* [PATCH, applied] hash: Use the faster XXH3 hashing algorithm from xxhash
@ 2024-10-01 15:31 Dodji Seketeli
0 siblings, 0 replies; only message in thread
From: Dodji Seketeli @ 2024-10-01 15:31 UTC (permalink / raw)
To: libabigail
[-- Attachment #1: Type: text/plain, Size: 16279 bytes --]
Hello,
In the xxhash package, there is the XXH3 algorithm which is faster
than the XXH algorithm that we are currently using. Most of the speed
gain comes from the use of SSE2 by that algorithm. This patch
switches to using XXH3 instead. You can read about the documented
speed gain of XXH3 at https://xxhash.com.
* src/abg-hash.cc (hash): In the overload for uint64_t values, use
XXH3_64bits_withSeed instead of XXH64. In the overload for
string, use XXH3_64bits instead of XXH64.
* tests/data/test-annotate/PR29443-missing-xx.o.annotated.abi:
Adjust.
* tests/data/test-annotate/libtest23.so.abi: Likewise.
* tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
* tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
* tests/data/test-annotate/test-anonymous-members-0.o.abi:
Likewise.
* tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi:
Likewise.
* tests/data/test-annotate/test0.abi: Likewise.
* tests/data/test-annotate/test1.abi: Likewise.
* tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
* tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
* tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
* tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
Likewise.
* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
Likewise.
* tests/data/test-annotate/test2.so.abi: Likewise.
* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
Likewise.
* tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
* tests/data/test-annotate/test3.so.abi: Likewise.
* tests/data/test-annotate/test4.so.abi: Likewise.
* tests/data/test-annotate/test5.o.abi: Likewise.
* tests/data/test-annotate/test6.so.abi: Likewise.
* tests/data/test-annotate/test7.so.abi: Likewise.
* tests/data/test-annotate/test8-qualified-this-pointer.so.abi:
Likewise.
* tests/data/test-diff-dwarf-abixml/PR25409-librte_bus_dpaa.so.20.0.abi:
Likewise.
* tests/data/test-diff-dwarf-abixml/test0-pr19026-libvtkIOSQL-6.1.so.1.abi:
Likewise.
* tests/data/test-read-btf/test0.o.abi: Likewise.
* tests/data/test-read-btf/test1.o.abi: Likewise.
* tests/data/test-read-ctf/PR27700/test-PR27700.abi: Likewise.
* tests/data/test-read-ctf/test-PR26568-1.o.abi: Likewise.
* tests/data/test-read-ctf/test-PR26568-2.o.abi: Likewise.
* tests/data/test-read-ctf/test-alias.o.abi: Likewise.
* tests/data/test-read-ctf/test-ambiguous-struct-A.o.hash.abi:
Likewise.
* tests/data/test-read-ctf/test-ambiguous-struct-B.o.hash.abi:
Likewise.
* tests/data/test-read-ctf/test-anonymous-fields.o.abi: Likewise.
* tests/data/test-read-ctf/test-array-mdimension.abi: Likewise.
* tests/data/test-read-ctf/test-array-of-pointers.abi: Likewise.
* tests/data/test-read-ctf/test-array-size.abi: Likewise.
* tests/data/test-read-ctf/test-bitfield-enum.abi: Likewise.
* tests/data/test-read-ctf/test-bitfield.abi: Likewise.
* tests/data/test-read-ctf/test-callback.abi: Likewise.
* tests/data/test-read-ctf/test-callback2.abi: Likewise.
* tests/data/test-read-ctf/test-conflicting-type-syms-a.o.hash.abi:
Likewise.
* tests/data/test-read-ctf/test-conflicting-type-syms-b.o.hash.abi:
Likewise.
* tests/data/test-read-ctf/test-const-array.abi: Likewise.
* tests/data/test-read-ctf/test-dynamic-array.o.abi: Likewise.
* tests/data/test-read-ctf/test-enum-many.o.hash.abi: Likewise.
* tests/data/test-read-ctf/test-enum-symbol.o.hash.abi: Likewise.
* tests/data/test-read-ctf/test-enum.o.abi: Likewise.
* tests/data/test-read-ctf/test-fallback.abi: Likewise.
* tests/data/test-read-ctf/test-forward-type-decl.abi: Likewise.
* tests/data/test-read-ctf/test-functions-declaration.abi:
Likewise.
* tests/data/test-read-ctf/test-linux-module.abi: Likewise.
* tests/data/test-read-ctf/test-list-struct.abi: Likewise.
* tests/data/test-read-ctf/test0.abi: Likewise.
* tests/data/test-read-ctf/test0.hash.abi: Likewise.
* tests/data/test-read-ctf/test1.so.abi: Likewise.
* tests/data/test-read-ctf/test1.so.hash.abi: Likewise.
* tests/data/test-read-ctf/test2.so.abi: Likewise.
* tests/data/test-read-ctf/test2.so.hash.abi: Likewise.
* tests/data/test-read-ctf/test3.so.abi: Likewise.
* tests/data/test-read-ctf/test3.so.hash.abi: Likewise.
* tests/data/test-read-ctf/test4.so.abi: Likewise.
* tests/data/test-read-ctf/test4.so.hash.abi: Likewise.
* tests/data/test-read-ctf/test5.o.abi: Likewise.
* tests/data/test-read-ctf/test7.o.abi: Likewise.
* tests/data/test-read-ctf/test8.o.abi: Likewise.
* tests/data/test-read-ctf/test9.o.abi: Likewise.
* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
Likewise.
* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
* tests/data/test-read-dwarf/PR24378-fn-is-not-scope.abi:
Likewise.
* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
* tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
Likewise.è
* tests/data/test-read-dwarf/PR26261/PR26261-exe.abi: Likewise.
* tests/data/test-read-dwarf/PR27700/test-PR27700.abi: Likewise.
* tests/data/test-read-dwarf/PR28584/PR28584-smv.clang.o.abi:
Likewise.
* tests/data/test-read-dwarf/PR29443-missing-xx.o.abi: Likewise.
* tests/data/test-read-dwarf/libtest23.so.abi: Likewise.
* tests/data/test-read-dwarf/libtest24-drop-fns-2.so.abi:
Likewise.
* tests/data/test-read-dwarf/libtest24-drop-fns.so.abi: Likewise.
* tests/data/test-read-dwarf/test-PR26568-1.o.abi: Likewise.
* tests/data/test-read-dwarf/test-PR26568-2.o.abi: Likewise.
* tests/data/test-read-dwarf/test-fallback.abi: Likewise.
* tests/data/test-read-dwarf/test-libaaudio.so.abi: Likewise.
* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
* tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi:
Likewise.
* tests/data/test-read-dwarf/test-suppressed-alias.o.abi:
Likewise.
* tests/data/test-read-dwarf/test0.abi: Likewise.
* tests/data/test-read-dwarf/test0.hash.abi: Likewise.
* tests/data/test-read-dwarf/test1.abi: Likewise.
* tests/data/test-read-dwarf/test1.hash.abi: Likewise.
* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
* tests/data/test-read-dwarf/test11-pr18828.so.abi: Likewise.
* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
* tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
* tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
* tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
Likewise.
* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi:
Likewise.
* tests/data/test-read-dwarf/test2.so.abi: Likewise.
* tests/data/test-read-dwarf/test2.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi:
Likewise.
* tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi:
Likewise.
* tests/data/test-read-dwarf/test3-alias-1.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test3-alias-2.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test3-alias-3.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test3-alias-4.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test3.so.abi: Likewise.
* tests/data/test-read-dwarf/test3.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test4.so.abi: Likewise.
* tests/data/test-read-dwarf/test4.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test5.o.abi: Likewise.
* tests/data/test-read-dwarf/test5.o.hash.abi: Likewise.
* tests/data/test-read-dwarf/test6.so.abi: Likewise.
* tests/data/test-read-dwarf/test6.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test7.so.abi: Likewise.
* tests/data/test-read-dwarf/test7.so.hash.abi: Likewise.
* tests/data/test-read-dwarf/test8-qualified-this-pointer.so.abi:
Likewise.
* tests/data/test-read-dwarf/test8-qualified-this-pointer.so.hash.abi:
Likewise.
* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
* tests/data/test-read-write/test25.xml: Likewise.
* tests/data/test-read-write/test28-without-std-fns-ref.xml:
Likewise.
* tests/data/test-read-write/test28-without-std-vars-ref.xml:
Likewise.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>
---
src/abg-hash.cc | 10 +-
.../PR29443-missing-xx.o.annotated.abi | 6 +-
tests/data/test-annotate/libtest23.so.abi | 142 +-
.../test-annotate/libtest24-drop-fns-2.so.abi | 214 +-
.../test-annotate/libtest24-drop-fns.so.abi | 214 +-
.../test-anonymous-members-0.o.abi | 32 +-
.../test-pointer-to-member-1.o.annotated.abi | 30 +-
tests/data/test-annotate/test0.abi | 38 +-
tests/data/test-annotate/test1.abi | 42 +-
.../data/test-annotate/test13-pr18894.so.abi | 796 +-
.../data/test-annotate/test14-pr18893.so.abi | 1468 +-
.../data/test-annotate/test15-pr18892.so.abi | 4960 ++---
.../data/test-annotate/test17-pr19027.so.abi | 5392 ++---
...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 2906 +--
...19-pr19023-libtcmalloc_and_profiler.so.abi | 4822 ++---
tests/data/test-annotate/test2.so.abi | 28 +-
...st20-pr19025-libvtkParallelCore-6.1.so.abi | 4054 ++--
.../data/test-annotate/test21-pr19092.so.abi | 1726 +-
tests/data/test-annotate/test3.so.abi | 2 +-
tests/data/test-annotate/test4.so.abi | 16 +-
tests/data/test-annotate/test5.o.abi | 2 +-
tests/data/test-annotate/test6.so.abi | 16 +-
tests/data/test-annotate/test7.so.abi | 50 +-
.../test8-qualified-this-pointer.so.abi | 14 +-
.../PR25409-librte_bus_dpaa.so.20.0.abi | 1796 +-
.../test0-pr19026-libvtkIOSQL-6.1.so.1.abi | 3162 +--
tests/data/test-read-btf/test0.o.abi | 68 +-
tests/data/test-read-btf/test1.o.abi | 4 +-
.../test-read-ctf/PR27700/test-PR27700.abi | 8 +-
tests/data/test-read-ctf/test-PR26568-1.o.abi | 16 +-
tests/data/test-read-ctf/test-PR26568-2.o.abi | 14 +-
tests/data/test-read-ctf/test-alias.o.abi | 4 +-
.../test-ambiguous-struct-A.o.hash.abi | 18 +-
.../test-ambiguous-struct-B.o.hash.abi | 8 +-
.../test-read-ctf/test-anonymous-fields.o.abi | 12 +-
.../test-read-ctf/test-array-mdimension.abi | 14 +-
.../test-read-ctf/test-array-of-pointers.abi | 22 +-
tests/data/test-read-ctf/test-array-size.abi | 16 +-
.../data/test-read-ctf/test-bitfield-enum.abi | 6 +-
tests/data/test-read-ctf/test-bitfield.abi | 8 +-
tests/data/test-read-ctf/test-callback.abi | 8 +-
tests/data/test-read-ctf/test-callback2.abi | 10 +-
.../test-conflicting-type-syms-a.o.hash.abi | 8 +-
.../test-conflicting-type-syms-b.o.hash.abi | 6 +-
tests/data/test-read-ctf/test-const-array.abi | 10 +-
.../test-read-ctf/test-dynamic-array.o.abi | 16 +-
.../test-read-ctf/test-enum-many.o.hash.abi | 6 +-
.../test-read-ctf/test-enum-symbol.o.hash.abi | 4 +-
tests/data/test-read-ctf/test-enum.o.abi | 6 +-
tests/data/test-read-ctf/test-fallback.abi | 2 +-
.../test-read-ctf/test-forward-type-decl.abi | 12 +-
.../test-functions-declaration.abi | 12 +-
.../data/test-read-ctf/test-linux-module.abi | 32 +-
tests/data/test-read-ctf/test-list-struct.abi | 6 +-
tests/data/test-read-ctf/test0.abi | 38 +-
tests/data/test-read-ctf/test0.hash.abi | 38 +-
tests/data/test-read-ctf/test1.so.abi | 14 +-
tests/data/test-read-ctf/test1.so.hash.abi | 14 +-
tests/data/test-read-ctf/test2.so.abi | 14 +-
tests/data/test-read-ctf/test2.so.hash.abi | 14 +-
tests/data/test-read-ctf/test3.so.abi | 2 +-
tests/data/test-read-ctf/test3.so.hash.abi | 2 +-
tests/data/test-read-ctf/test4.so.abi | 16 +-
tests/data/test-read-ctf/test4.so.hash.abi | 16 +-
tests/data/test-read-ctf/test5.o.abi | 32 +-
tests/data/test-read-ctf/test7.o.abi | 20 +-
tests/data/test-read-ctf/test8.o.abi | 2 +-
tests/data/test-read-ctf/test9.o.abi | 46 +-
.../PR22015-libboost_iostreams.so.abi | 748 +-
.../test-read-dwarf/PR22122-libftdc.so.abi | 1072 +-
.../PR24378-fn-is-not-scope.abi | 16 +-
.../data/test-read-dwarf/PR25007-sdhci.ko.abi | 2772 +--
.../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi | 332 +-
.../test-read-dwarf/PR26261/PR26261-exe.abi | 38 +-
.../test-read-dwarf/PR27700/test-PR27700.abi | 8 +-
.../PR28584/PR28584-smv.clang.o.abi | 4 +-
.../test-read-dwarf/PR29443-missing-xx.o.abi | 6 +-
tests/data/test-read-dwarf/libtest23.so.abi | 142 +-
.../libtest24-drop-fns-2.so.abi | 214 +-
.../test-read-dwarf/libtest24-drop-fns.so.abi | 214 +-
.../data/test-read-dwarf/test-PR26568-1.o.abi | 16 +-
.../data/test-read-dwarf/test-PR26568-2.o.abi | 14 +-
tests/data/test-read-dwarf/test-fallback.abi | 2 +-
.../test-read-dwarf/test-libaaudio.so.abi | 352 +-
.../test-read-dwarf/test-libandroid.so.abi | 16562 ++++++++--------
.../test-pointer-to-member-1.o.abi | 30 +-
.../test-suppressed-alias.o.abi | 4 +-
tests/data/test-read-dwarf/test0.abi | 38 +-
tests/data/test-read-dwarf/test0.hash.abi | 38 +-
tests/data/test-read-dwarf/test1.abi | 42 +-
tests/data/test-read-dwarf/test1.hash.abi | 42 +-
.../test-read-dwarf/test10-pr18818-gcc.so.abi | 1922 +-
.../test-read-dwarf/test11-pr18828.so.abi | 5960 +++---
.../test-read-dwarf/test12-pr18844.so.abi | 10066 +++++-----
.../test-read-dwarf/test13-pr18894.so.abi | 796 +-
.../test-read-dwarf/test14-pr18893.so.abi | 1468 +-
.../test-read-dwarf/test15-pr18892.so.abi | 4966 ++---
.../test-read-dwarf/test16-pr18904.so.abi | 8394 ++++----
.../test-read-dwarf/test17-pr19027.so.abi | 5412 ++---
...st18-pr19037-libvtkRenderingLIC-6.1.so.abi | 2906 +--
...19-pr19023-libtcmalloc_and_profiler.so.abi | 4824 ++---
tests/data/test-read-dwarf/test2.so.abi | 28 +-
tests/data/test-read-dwarf/test2.so.hash.abi | 28 +-
...st20-pr19025-libvtkParallelCore-6.1.so.abi | 4054 ++--
.../test-read-dwarf/test21-pr19092.so.abi | 1726 +-
.../test22-pr19097-libstdc++.so.6.0.17.so.abi | 12894 ++++++------
.../test-read-dwarf/test3-alias-1.so.hash.abi | 2 +-
.../test-read-dwarf/test3-alias-2.so.hash.abi | 2 +-
.../test-read-dwarf/test3-alias-3.so.hash.abi | 2 +-
.../test-read-dwarf/test3-alias-4.so.hash.abi | 2 +-
tests/data/test-read-dwarf/test3.so.abi | 2 +-
tests/data/test-read-dwarf/test3.so.hash.abi | 2 +-
tests/data/test-read-dwarf/test4.so.abi | 16 +-
tests/data/test-read-dwarf/test4.so.hash.abi | 16 +-
tests/data/test-read-dwarf/test5.o.abi | 2 +-
tests/data/test-read-dwarf/test5.o.hash.abi | 2 +-
tests/data/test-read-dwarf/test6.so.abi | 16 +-
tests/data/test-read-dwarf/test6.so.hash.abi | 16 +-
tests/data/test-read-dwarf/test7.so.abi | 50 +-
tests/data/test-read-dwarf/test7.so.hash.abi | 50 +-
.../test8-qualified-this-pointer.so.abi | 14 +-
.../test8-qualified-this-pointer.so.hash.abi | 14 +-
.../test9-pr18818-clang.so.abi | 1594 +-
tests/data/test-read-write/test25.xml | 14 +-
.../test28-without-std-fns-ref.xml | 358 +-
.../test28-without-std-vars-ref.xml | 358 +-
126 files changed, 61622 insertions(+), 61622 deletions(-)
The patch is too big for the mailing list so I am attaching it gzipped.
[-- Attachment #2: 0004-hash-Use-the-faster-XXH3-hashing-algorithm-from-xxha.patch.gz --]
[-- Type: application/gzip, Size: 3143560 bytes --]
[-- Attachment #3: Type: text/plain, Size: 22 bytes --]
Cheers,
--
Dodji
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-10-01 15:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-01 15:31 [PATCH, applied] hash: Use the faster XXH3 hashing algorithm from xxhash Dodji Seketeli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).