[Haskell-cafe] Performance problem with random numbers

Simon Peyton-Jones simonpj at microsoft.com
Tue Oct 16 06:07:15 EDT 2007


We'd be delighted if someone offered a more performant library to put into future GHC releases.

Simon

| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org [mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Don
| Stewart
| Sent: 13 October 2007 22:38
| To: Isaac Dupree
| Cc: haskell-cafe at haskell.org
| Subject: Re: [Haskell-cafe] Performance problem with random numbers
|
| isaacdupree:
| > ntupel wrote:
| > >Thanks for your reply Stefan. Unfortunately I could measure only a
| > >relatively small improvement by changing to concrete types
| >
| > >the sample code was about one second faster when compiled with -O2.
| > >Profiling again indicated that most time was spend in random and randomR
| >
| > GHC StdGen's random and randomR are somewhat slow.  I found that
| > changing to a custom ((x*a + b) `mod` c) random-generator (instance of
| > RandomGen) much sped things up (since nothing depended on the random
| > numbers being good quality).  (Then I switched to a small C function to
| > do the randomization and make all the OpenGL calls, and it sped up by
| > another factor of 4.)
| >
|
| I've seen similar results switching to the SIMD mersenne twister C
| implementation for randoms:
|
|     http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html
|
| If there's interest, I can package up the bindings for hackage.
|
| -- Don
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe


More information about the Haskell-Cafe mailing list