public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [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).