hi Chris,
thanks for the pointer. I have briefly looked at MT19937 some time ago, and thought it would be worth a try. Now I am looking at an original implementation (claimed to be slower than an improved version you are referring to, by a factor of 1.7), and starting to have some doubts.
1. I do not know if MT199937 is well suited for inlining in a 'perform' routine of a tilde object. Correct me, if I am wrong.
2. Control classes might pay a small extra price in speed of course. But how big it really is? My lame measurements show the original MT19937 to be approx 20 times slower than quick'n'dirty LCG. Again, I may be wrong.
3. There would also be some memory overhead (approx 2.5kB for every object).
4. MT19937 is GPLed.
Krzysztof
Chris McCormick wrote:
I recommend the following BSD lisenced algorithm. It's fast and simple (does not
require mod or divide) and it's got a period of 2^19937: