Skip to content
Snippets Groups Projects
This project is mirrored from https://git.alchemyviewer.org/alchemy/alchemy-next.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
  1. Feb 10, 2023
  2. Jan 31, 2023
    • Andrey Kleshchev's avatar
    • Henri Beauchamp's avatar
      SL-19110 Fast hashing classes for use in place of the slow LLMD5, where speed matters. (#64) · 473ade26
      Henri Beauchamp authored
      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.
      473ade26
  3. Nov 21, 2022
  4. Nov 18, 2022
  5. Nov 14, 2022
  6. Nov 11, 2022
  7. Oct 17, 2022
  8. Oct 14, 2022
  9. Oct 04, 2022
  10. Oct 03, 2022
  11. Oct 01, 2022
  12. Sep 21, 2022
  13. Sep 16, 2022
  14. Sep 14, 2022
  15. Sep 08, 2022
  16. Jun 24, 2022
  17. Jun 21, 2022
  18. Jun 09, 2022
  19. Jun 08, 2022
  20. May 31, 2022
  21. May 27, 2022
  22. May 20, 2022
  23. May 16, 2022
  24. Apr 19, 2022
  25. Apr 15, 2022
  26. Mar 25, 2022
  27. Mar 05, 2022
  28. Feb 18, 2022
  29. Feb 15, 2022
  30. Feb 11, 2022
  31. Feb 08, 2022
  32. Feb 04, 2022
Loading