wangyi-fudan / wyhash

The FASTEST QUALITY hash function, random number generators (PRNG) and hash map.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pdf review

rurban opened this issue · comments

There are small typos in the paper pdf "Modern Non-Cryptographic Hash Function
and Pseudorandom Number Generator"

  • Abstract: compliers
  • page 5: compliers
  • page 10: which losses entropy => which loses entropy,
    not loss entropy => not lose entropy
  • page 11: precessed => processed
  • page 11: _wyr# functions reads # byte from the key using memcpy. => _wyr# functions reads # bytes from the key using memcpy.

Questionable:

  • page 11: predefined 64-bit integer with 32 1bits => predefined 64-bit integer with 32 bits
    a bit is by definition only 1 bit long. nobodys calls them 1bits. (2x)
  • page 11: (Discussion) misses a link.
  • page 12: It is obvious that its cycle length is 2^64 as p0 is a large prime. => why? maybe improve it by saying large prime > 2^63 (0xa0761d6478bd642f = 11562461410679940143)

wyrand is also tested in dieharder, and turns out to be the best of all available prng functions (for HW rng's I only tested the broken AMD one, and linux /dev/random/ which is HW assisted)

https://rurban.github.io/dieharder/QUALITY.html

Thanks @rurban for your precious time on this!

Thank you very much. updated.
The "obvious" period discussion is at:
lemire/SwiftWyhash#10
#15

commented

I also found few minor typos and stylistic imperfections. Check attached diff, you will figure it out.

wyhash-pdf.txt.diff.GZ