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: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of D. Stimits
> Sent: Monday, October 04, 2004 7:23 AM
> Cc: [EMAIL PROTECTED]
> Subject: Re: [GENERAL] Random not so random
> 
> 
> Tom Lane wrote:
> > "Arnau Rebassa" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to