<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/hbxxh.cpp, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2025-05-12T13:07:02Z</updated>
<entry>
<title>Similar to commit 2a57b9 but for xxHash</title>
<updated>2025-05-12T13:07:02Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-05-12T13:07:02Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=d43c417a737d9f48fece51d084a85e3fad86382b'/>
<id>urn:sha1:d43c417a737d9f48fece51d084a85e3fad86382b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge tag '7.1.7-release'</title>
<updated>2024-05-16T05:52:40Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2024-05-16T05:52:40Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=6d51e91895a7f2435c46a876410ccc6c63fe8c82'/>
<id>urn:sha1:6d51e91895a7f2435c46a876410ccc6c63fe8c82</id>
<content type='text'>
source for viewer 7.1.7.8974243247
</content>
</entry>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>System xxHash header isn't (usually?) encapsulated</title>
<updated>2023-07-19T03:01:37Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2023-07-12T06:46:32Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=fc6d2ad320b35a7ea4dfa33d88e1bdd54d21904d'/>
<id>urn:sha1:fc6d2ad320b35a7ea4dfa33d88e1bdd54d21904d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-19110 Fix xxhash build link and properly register contribution</title>
<updated>2023-01-31T20:05:42Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2023-01-31T16:48:16Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b5b0a3fbf6b58c7f1a7e4377bfeb6adb3337e4bf'/>
<id>urn:sha1:b5b0a3fbf6b58c7f1a7e4377bfeb6adb3337e4bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-19110 Fast hashing classes for use in place of the slow LLMD5, where speed matters. (#64)</title>
<updated>2023-01-31T20:04:14Z</updated>
<author>
<name>Henri Beauchamp</name>
<email>sldevel@users.noreply.github.com</email>
</author>
<published>2023-01-31T16:42:51Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=473ade269628d1fb6cbc7b96a91e1c0aec1b8e59'/>
<id>urn:sha1:473ade269628d1fb6cbc7b96a91e1c0aec1b8e59</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>SL-19110 Fix coding policy</title>
<updated>2023-01-31T17:35:10Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2023-01-31T17:35:10Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=a6615b3264011f186678e7d0380291dd3bedc9aa'/>
<id>urn:sha1:a6615b3264011f186678e7d0380291dd3bedc9aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-19110 Fix xxhash build link and properly register contribution</title>
<updated>2023-01-31T17:17:34Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2023-01-31T16:48:16Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=851815442625f0378cb21ffdb8dd588122087e18'/>
<id>urn:sha1:851815442625f0378cb21ffdb8dd588122087e18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-19110 Fast hashing classes for use in place of the slow LLMD5, where speed matters. (#64)</title>
<updated>2023-01-31T16:42:51Z</updated>
<author>
<name>Henri Beauchamp</name>
<email>sldevel@users.noreply.github.com</email>
</author>
<published>2023-01-31T16:42:51Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9438ef5f79fdac11080c3fa10c518e335fd7d8d6'/>
<id>urn:sha1:9438ef5f79fdac11080c3fa10c518e335fd7d8d6</id>
<content type='text'>
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.</content>
</entry>
</feed>
