TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

PCG, a Family of Better Random Number Generators

17 pointsby antoniosalmost 9 years ago

2 comments

nkurzalmost 9 years ago
<i>Although this website gives you a taste of what the PCG family is and can do, the technical details are given in the paper, PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation. This paper is currently submitted to ACM Transactions on Mathematical Software, where it is currently under review.</i><p><a href="http:&#x2F;&#x2F;www.pcg-random.org&#x2F;pdf&#x2F;toms-oneill-pcg-family-v1.02.pdf" rel="nofollow">http:&#x2F;&#x2F;www.pcg-random.org&#x2F;pdf&#x2F;toms-oneill-pcg-family-v1.02.p...</a><p>It&#x27;s a fine paper, and so far as I can tell, a fine technique, but it&#x27;s been &quot;under review&quot; for a long time now. Review can take a long time, but this is certainly on the slower side. I wrote to the author a while ago inquiring, but never heard back.<p>Another interesting recent approach is xoroshiro128+ by David Blackman and Sebastiano Vigna (vigna@acm.org): <a href="http:&#x2F;&#x2F;xorshift.di.unimi.it&#x2F;xoroshiro128plus.c" rel="nofollow">http:&#x2F;&#x2F;xorshift.di.unimi.it&#x2F;xoroshiro128plus.c</a>. Elsewhere, he pans PCG as not yet being peer reviewed: <a href="http:&#x2F;&#x2F;v8project.blogspot.com&#x2F;2015&#x2F;12&#x2F;theres-mathrandom-and-then-theres.html" rel="nofollow">http:&#x2F;&#x2F;v8project.blogspot.com&#x2F;2015&#x2F;12&#x2F;theres-mathrandom-and-...</a>.<p>Melissa O&#x27;Neill (author of PCG) compares it with Vigna&#x27;s earlier XorShift+ in comments here: <a href="https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;programming&#x2F;comments&#x2F;2xpr45&#x2F;pcg_a_family_of_better_random_number_generators&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;programming&#x2F;comments&#x2F;2xpr45&#x2F;pcg_a_f...</a>. The video is also a nice introduction if you prefer audio and pictures to text.<p>Personally, I&#x27;d be interested in seeing more analysis of &quot;counter based&quot; PRNG&#x27;s that use hardware cryptographic approaches but with a reduced number of rounds: <a href="http:&#x2F;&#x2F;www.thesalmons.org&#x2F;john&#x2F;random123&#x2F;papers&#x2F;random123sc11.pdf" rel="nofollow">http:&#x2F;&#x2F;www.thesalmons.org&#x2F;john&#x2F;random123&#x2F;papers&#x2F;random123sc1...</a>. AES has hardware support in modern processors, it&#x27;s quite fast and passes all current tests for randomness, but (so far as I know) the approach hasn&#x27;t yet received much academic attention. Salmon offers a Boost implementation here: <a href="https:&#x2F;&#x2F;github.com&#x2F;johnsalmon&#x2F;boost-random123" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;johnsalmon&#x2F;boost-random123</a>.
评论 #11840581 未加载
tptacekalmost 9 years ago
What is the scenario for which I need decent-but-not-cryptographically-secure random numbers at such a rate that the speed of the RNG is material to my design?<p>Serious question!
评论 #11839671 未加载
评论 #11841150 未加载