I don't see how using KISS would have any effect on this problem - the problem of setting the initial state of the generator. I also don't see how could KISS be implemented in Smalltalk efficiently. Levente On Thu, 22 Oct 2015, Nicolas Cellier wrote:
For these reasons, I often prefer the Marsaglia's KISS
2015-10-22 17:57 GMT+02:00 Henrik Johansen <henrik.s.johansen@veloxit.no>:
> On 22 Oct 2015, at 2:49 , Tobias Pape <Das.Linux@gmx.de> wrote: > > > > On 22.10.2015, at 14:37, David T. Lewis <lewis@mail.msen.com> wrote: > >> On Thu, Oct 22, 2015 at 06:28:09AM +0000, commits@source.squeak.org wrote: >>> Tobias Pape uploaded a new version of Network to project The Trunk: >>> http://source.squeak.org/trunk/Network-topa.166.mcz >>> >>> ==================== Summary ==================== >>> >>> Name: Network-topa.166 >>> Author: topa >>> Time: 21 October 2015, 8:26:14.656 pm >>> UUID: d6d9910f-fa67-4c69-9a89-030c81233e90 >>> Ancestors: Network-topa.165 >>> >>> UUIDGenerator >>> - Use new Random>>#nextBytes:into:startingAt: (needs Kernel-ul.960) for even more speed >>> - Fix UUIDGenerator class>>#initialize to correctly register at startup >>> - Do not reset default on startup but rather reseed TheRandom >>> >>> Timings improved:Â '1,190,000 per second. 842 nanoseconds per run.' (0.25 times slower than primitive version) >>> >> >> This is outstanding. The UUID plugin has long been a source of problems in >> the VM, partly due to issues in various Linux distributions. >> >> http://bugs.squeak.org/view.php?id=7358 >> >> Making the plugin unnecessary is a big improvement. > > Thats what I thought. > Probably we want to present this (Mersenne PRNG + new UUID gen) to > the Pharo core developers (cc) so that we can just remove the UUID plugin > from the VMs (cc vm-dev)? > > Best regards >Â Â Â Â -Tobias
In the release version of Squeak 5.0, the Mersenne Twister is initialized using a single seed restricted to 32bit. Has this been changed since to use a wider ranged value? Otherwise, you run into problems with potential collisions from separate image starts rather too fast for UUID uses... (IMHO)
Cheers, Henry