www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: default random object?

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!

Feb 14 2009