Re: Random not so random

Поиск
Список
Период
Сортировка
От Dann Corbit
Тема Re: Random not so random
Дата
Msg-id D425483C2C5C9F49B5B7A41F89441547055525@postal.corporate.connx.com
обсуждение исходный текст
Ответ на Random not so random  ("Arnau Rebassa" <arebassa@hotmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Set locale per query?
Следующее
От: Alexander Cohen
Дата:
Сообщение: problem with pg_restore