Originally Posted by Kalle
You seem to have a bug somwhere ...
The variance I see when running simcraft multiple times is significantly larger than the predicted error. I tested this with 10 runs of simcraft, 10,000 iterations per run. The deviation I see is larger than the computed error (yes, I divided your error by 2 to get std_dev/sqrt(iterations) ) for all of all raid_70.txt's default players.
I believe this only happens since you introduced multi-threading. However, compiling with -DNO_THREADS doesn't solve the problem.
|
When it "worked right" were you ever running with multiple threads? (The sfmt package was not previously thread-safe.)
Can you try something: Re-run the experiment with "sfmt=0" in the config file. This will use the libc rand() function. Run with "threads=0" or simply not set because the mutex locking in rand() destroys any benefit you'll get from multiple threads.
I stole the guts of sfmt (with proper acknowledgment of credit, ofc) and made it thread-safe.
I'm not sure if our error-analysis is/was off because the rng package was behaving oddly..... but more unfortunately, in cases like this "more variance" is probably the "more correct" scenario.
Let me know how the rand() experiment goes. I'll do some research on how our "error calculation" is performed. BTW: I welcome your input on this. I make no claims to be being a statistics expert.