summaryrefslogtreecommitdiff
path: root/autobuild.xml
diff options
context:
space:
mode:
authorHenri Beauchamp <sldevel@users.noreply.github.com>2023-01-31 17:42:51 +0100
committerGitHub <noreply@github.com>2023-01-31 18:42:51 +0200
commit9438ef5f79fdac11080c3fa10c518e335fd7d8d6 (patch)
tree9a97248bab30408815c4d242f1ce932e822853a3 /autobuild.xml
parent21b592865228bacf07ec8a526f1756bae69597e0 (diff)
SL-19110 Fast hashing classes for use in place of the slow LLMD5, where speed matters. (#64)
This commit adds the HBXX64 and HBXX128 classes for use as a drop-in replacement for the slow LLMD5 hashing class, where speed matters and backward compatibility (with standard hashing algorithms) and/or cryptographic hashing qualities are not required. It also replaces LLMD5 with HBXX* in a few existing hot (well, ok, just "warm" for some) paths meeting the above requirements, while paving the way for future use cases, such as in the DRTVWR-559 and sibling branches where the slow LLMD5 is used (e.g. to hash materials and vertex buffer cache entries), and could be use such a (way) faster algorithm with very significant benefits and no negative impact. Here is the comment I added in indra/llcommon/hbxx.h: // HBXXH* classes are to be used where speed matters and cryptographic quality // is not required (no "one-way" guarantee, though they are likely not worst in // this respect than MD5 which got busted and is now considered too weak). The // xxHash code they are built upon is vectorized and about 50 times faster than // MD5. A 64 bits hash class is also provided for when 128 bits of entropy are // not needed. The hashes collision rate is similar to MD5's. // See https://github.com/Cyan4973/xxHash#readme for details.
Diffstat (limited to 'autobuild.xml')
-rw-r--r--autobuild.xml30
1 files changed, 30 insertions, 0 deletions
diff --git a/autobuild.xml b/autobuild.xml
index bc78e5c5e0..8e83419a9a 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -2816,6 +2816,36 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>version</key>
<string>0.54.1.555529</string>
</map>
+ <key>xxhash</key>
+ <map>
+ <key>copyright</key>
+ <string>Copyright 2012-2020 Yann Collet</string>
+ <key>description</key>
+ <string>xxHash Extremely fast hash algorithm</string>
+ <key>license</key>
+ <string>bsd</string>
+ <key>license_file</key>
+ <string>LICENSES/xxhash.txt</string>
+ <key>name</key>
+ <string>xxhash</string>
+ <key>platforms</key>
+ <map>
+ <key>common</key>
+ <map>
+ <key>archive</key>
+ <map>
+ <key>hash</key>
+ <string>f54f21dda4ce25b112f0cc7b4ce38bba</string>
+ <key>url</key>
+ <string>http://sldev.free.fr/libraries/xxhash-0.8.1-20230124.tar.bz2</string>
+ </map>
+ <key>name</key>
+ <string>common</string>
+ </map>
+ </map>
+ <key>version</key>
+ <string>0.8.1</string>
+ </map>
<key>zlib-ng</key>
<map>
<key>canonical_repo</key>