[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