[PATCH] D155675: [DWARFLinkerParallel] Switch to xxh3_64bits

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 19 00:09:10 PDT 2023


MaskRay created this revision.
MaskRay added reviewers: avl, JDevlieghere.
Herald added a project: All.
MaskRay requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

xxh3 is substantially faster than xxh64.
For lld `.debug_str` there is substantial speedup (D154813 <https://reviews.llvm.org/D154813>).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155675

Files:
  llvm/include/llvm/ADT/ConcurrentHashtable.h
  llvm/include/llvm/DWARFLinkerParallel/StringPool.h


Index: llvm/include/llvm/DWARFLinkerParallel/StringPool.h
===================================================================
--- llvm/include/llvm/DWARFLinkerParallel/StringPool.h
+++ llvm/include/llvm/DWARFLinkerParallel/StringPool.h
@@ -27,7 +27,7 @@
 public:
   /// \returns Hash value for the specified \p Key.
   static inline uint64_t getHashValue(const StringRef &Key) {
-    return xxHash64(Key);
+    return xxh3_64bits(Key);
   }
 
   /// \returns true if both \p LHS and \p RHS are equal.
Index: llvm/include/llvm/ADT/ConcurrentHashtable.h
===================================================================
--- llvm/include/llvm/ADT/ConcurrentHashtable.h
+++ llvm/include/llvm/ADT/ConcurrentHashtable.h
@@ -77,7 +77,7 @@
 public:
   /// \returns Hash value for the specified \p Key.
   static inline uint64_t getHashValue(const KeyTy &Key) {
-    return xxHash64(Key);
+    return xxh3_64bits(Key);
   }
 
   /// \returns true if both \p LHS and \p RHS are equal.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155675.541857.patch
Type: text/x-patch
Size: 977 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230719/e5e3bfde/attachment.bin>


More information about the llvm-commits mailing list