outrun wrote:Cuchulainn wrote:outrun wrote:yes there are many implementations of MT. The C++11 standard specifies the interface, the required O() of operators, and the exact numerical results (the 10.000th draw must be X). So all MT need to implement the exact same algorithm, but like any C++ aspect each compiler vendor is free to implement things the way they want.
OK, clear. Different implementations. hehe
Yes,.. that goed for *anything*, even the baseline "allocating a std::vector" or sin(x) will be implemented differently by different vendors. If it wasn't there wouldn't be much point in having different compilers.
Boost MT > C++11 MT.
So, what would your advice be to a QuantLib developer who want to move from Boost Random to C++ <random>?
They are not the same, it seems. After migration, performance degrades by a factor of 2 unless we have overlooked sumfing really important.