Skip to content
Snippets Groups Projects
  1. Oct 13, 2023
  2. Oct 12, 2023
  3. Oct 06, 2023
  4. Jul 21, 2023
  5. Jul 18, 2023
  6. Jul 14, 2023
  7. Jul 10, 2023
  8. Jul 06, 2023
  9. Jun 07, 2023
  10. Jun 05, 2023
  11. Jun 02, 2023
  12. May 19, 2023
  13. May 15, 2023
  14. May 04, 2023
  15. May 03, 2023
  16. Apr 28, 2023
  17. Apr 19, 2023
  18. Apr 10, 2023
  19. Apr 05, 2023
  20. Mar 22, 2023
  21. Feb 10, 2023
  22. 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
  23. Dec 14, 2022
  24. Nov 21, 2022
  25. Nov 19, 2022
  26. Nov 18, 2022
Loading