Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Random numbers are not random enough on Windows

by jettero (Monsignor)
on Oct 28, 2009 at 10:27 UTC ( #803638=note: print w/replies, xml ) Need Help??

in reply to Random numbers are not random enough on Windows

every random number generated was unique. This was expected.

I had a stats teacher that would have everyone write down a coin flip sequence and then he'd explain how he could tell who cheated: not enough repeats. I guess I'd expect to see a few repeats in my sequence of random numbers. Probably not as many as you're seeing... I think there are other problems with the windows PRNG too. Maybe win7 fixed it.

I guess I expected to find some things on CPAN for this, but I didn't -- unless you're willing to use cygwin. Then there seem to be a few choices. Crypt::Random (will this work without the entropy daemon?) and Math::Random::MT::Auto (should I be using this too?) seem fairly interesting.

UPDATE: Ahh, interesting. I didn't understand the issue at all.


  • Comment on Re: Random numbers are not random enough on Windows

Replies are listed 'Best First'.
Re^2: Random numbers are not random enough on Windows
by GrandFather (Sage) on Oct 28, 2009 at 10:56 UTC

    The issue the OP experienced was not with the Windows PRNG, but with the PRNG built into Perl. They are quite different animals. The Perl PRNG is a 16 bit primitive PRNG that has been provided by MicroSoft's C run time for pretty much ever. It has long been recognised as a very flawed (some would say 'useless') PRNG, but much code has been written using it that would probably break if it were changed. If you have a serious need for a good PRNG for some application there are plenty of libraries around that will supply the need for various appropriate definitions of 'good'.

    To a fairly large extent there is not a great deal of point in a compiler supplying a 'good' PRNG because there are many areas of compromise in the definition of good for any particular application. Anyone with a serious application for a PRNG will most likely either develop their own, or use library code developed for a similar application.

    True laziness is hard work

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://803638]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2017-03-29 14:43 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (351 votes). Check out past polls.