Random: JKISS32

May 2010 David Jones published Good Practice in (Pseudo) Random Number Generation for Bioinformatics Applications.  Even though the article has “for Bioinformatics Applications” in the title the material applies to most applications that make use of pseudo-random number generators.  The article includes a generator (JKISS32) that may be of interest to Tiny Core users.  The generator uses considerably more SRAM than the other generators (20 bytes versus 4 bytes) but it is smaller, faster, and much higher quality than the Libc random function.

Size

JKISS32 adds 356 bytes to the image which is less than the 454 bytes added by the Libc random function.

Speed

On a 1 MHz ATtiny85 processor JKISS32 takes 0.433 milliseconds to generate the next value which is significantly faster than the 1.947 milliseconds taken by the Libc random function.

Quality

Outstanding.  Refer to the article for details.

References

Leave a Reply