Re: Random not so random - Mailing list pgsql-general
From | Dann Corbit |
---|---|
Subject | Re: Random not so random |
Date | |
Msg-id | D425483C2C5C9F49B5B7A41F89441547055525@postal.corporate.connx.com Whole thread Raw |
In response to | Random not so random ("Arnau Rebassa" <arebassa@hotmail.com>) |
List | pgsql-general |
Here is a tarball for MT: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.t gz It has a BSD license. What could be better? > -----Original Message----- > From: pgsql-general-owner@postgresql.org > [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Dann Corbit > Sent: Tuesday, October 05, 2004 9:34 AM > To: pgsql-general@postgresql.org > Cc: stimits@comcast.net > Subject: Re: [GENERAL] Random not so random > > > A better way would be to seed a Mersenne Twister PRNG at > server startup time and then use the same generator for all > subsequent calls. > http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html > > The period is exceptionally long, and it has many excellent > properties. > > > -----Original Message----- > > From: pgsql-general-owner@postgresql.org > > [mailto:pgsql-general-owner@postgresql.org] On Behalf Of D. Stimits > > Sent: Monday, October 04, 2004 7:23 AM > > Cc: pgsql-general@postgresql.org > > Subject: Re: [GENERAL] Random not so random > > > > > > Tom Lane wrote: > > > "Arnau Rebassa" <arebassa@hotmail.com> writes: > > > > > >> I'm using a debian linux as OS with a 2.4 kernel running on it. > > > > > > > > >>>Incidentally, are you reconnecting every time or is it > > that multiple > > >>>calls > > >>>in a single session are returning the same record? > > > > > > > > >> I'm reconnecting each time I want to retrieve a message. > > > > > > > > > Hmm. postmaster.c does this during startup of each > backend process: > > > > > > gettimeofday(&now, &tz); > > > srandom((unsigned int) now.tv_usec); > > > > If it uses the same seed from the connection, then all > > randoms within a > > connect that has not reconnected will use the same seed. > > Which means the > > same sequence will be generated each time, which is why it is > > pseudo-random and not random. For it to be random not just > the first > > call of a new connection, but among all calls of new connection, it > > would have to seed it based on time at the moment of query > and not at > > the moment of connect. A pseudo-random generator using the > same seed > > will generate the same sequence. > > > > D. Stimits, stimits AT comcast DOT net > > > > > > ---------------------------(end of > > broadcast)--------------------------- > > TIP 8: explain analyze is your friend > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so > that your > message can get through to the mailing list cleanly >
pgsql-general by date: