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. May 22, 2023
  2. May 17, 2023
  3. May 14, 2023
  4. May 05, 2023
  5. May 04, 2023
  6. May 03, 2023
  7. Apr 28, 2023
  8. Apr 19, 2023
  9. Apr 15, 2023
  10. Apr 07, 2023
  11. Apr 05, 2023
  12. Apr 04, 2023
  13. Apr 03, 2023
  14. Mar 31, 2023
  15. Mar 25, 2023
  16. Mar 22, 2023
  17. Mar 12, 2023
  18. Mar 11, 2023
  19. Mar 08, 2023
  20. Mar 07, 2023
  21. Mar 02, 2023
  22. Feb 10, 2023
  23. 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
    • 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) · 9438ef5f
      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.
      Unverified
      9438ef5f
  24. Jan 30, 2023
  25. Jan 17, 2023
Loading