[fpc-devel] Random thread-safe
thaddy at thaddy.com
thaddy at thaddy.com
Thu Jan 28 15:55:55 CET 2016
The point is partially more or less at the end of the link I included.
The reference to the Rdrand
<http://software.intel.com/en-us/articles/user-manual-for-the-rdrand-library-linux-version>
Which means software should take advantage of hardware when possible.
But it is about more than that.
And with due regards: the choice of the Mersenne twister over a Delphi
equivalent one was made by about the same arguments I have now: it was
better.
This is not that I disagree with your initial answers (also from Jonas)
but to put things in an historical perspective.
You were both involved at the time the Mersenne twister was chosen , I
believe. Correct me if I am wrong.
PRNG's are more and more important. They deserve extra effort even if it
is not used for the compiler itself.
(It may very well be: when all software needs signing on all major
platforms, which is tomorrow in IT standards)
Regards,
Thaddy
On 28-Jan-16 3:43 PM, Michael Van Canneyt wrote:
>
>
> On Thu, 28 Jan 2016, Jonas Maebe wrote:
>
>>
>> thaddy wrote on Thu, 28 Jan 2016:
>>
>>> Then wouldn't it be possible to make PRNG's plugable. The Mersenne
>>> twister is still good as it is but definitely not suitable for every
>>> and any case. Marsialigla's might be a better choice nowadays.
>>> And the seeding can nowadays often been done from reading hardware
>>> random, like on the Raspberry Pi.
>>> e.g.
>>> http://scruss.com/blog/2013/06/07/well-that-was-unexpected-the-raspberry-pis-hardware-random-number-generator/
>>
>> The random number generator is just there as a general purpose tool,
>> for TP/Delphi functional compatibility (not implementation
>> compatibility, as we use a different PRNG). Unlike functionality such
>> as the memory manager and code page conversions, it is not used by
>> other parts of the language or RTL. As a result, there is no need to
>> complicate the system unit by implementing a complete plugin
>> infrastructure for this.
>
> Indeed. You can just write and use your own random number mechanism if
> this is so
> important. read /dev/urandom or so...
>
> Michael.
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20160128/27da8740/attachment.html>
More information about the fpc-devel
mailing list