default random object?

Jason House jason.james.house at gmail.com
Sat Feb 14 12:41:44 PST 2009


Walter Bright Wrote:

> Andrei Alexandrescu wrote:
> > 2. The global random generator will be allocated per thread. Are you 
> > cool with this too?
> 
> That could have speed problems with a tight loop accessing thread local 
> storage. If it's a shared global with no locking, the thread randomness 
> will increase its randomness <g>.


Lately, I wonder why TLS is treated as special and globals are normal. I don't know enough about threading models on various platforms to fully understand the implications. I've already been tempted to move some of my multi-threaded D code to multi-process for the benefits it offers (mostly efficient garbage collection when scaling to 8+ threads. My use of shared memory is minimal and easily eliminated. 


 
> > 3. How should the global rng be initialized? To always generate the same 
> > sequence, or not?
> 
> Always different, because that's what I want if I just want a freakin' 
> random number!




More information about the Digitalmars-d mailing list