Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A very fast Haskell library for generating high quality pseudo-random numbers.
Haskell R Shell

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
System/Random
benchmarks
test
.hgignore
.hgtags
LICENSE
README.markdown
Setup.lhs
mwc-random.cabal

README.markdown

Efficient, general purpose pseudo-random number generation

This package provides the System.Random.MWC module, a Haskell library for generating high-quality pseudo-random numbers in a space- and time-efficient way.

Performance

This library has been carefully optimised for high performance. To obtain the best runtime efficiency, it is imperative to compile libraries and applications that use this library using a high level of optimisation.

Suggested GHC options:

-O -fvia-C -funbox-strict-fields

To illustrate, here are the times (in seconds) to generate and sum 250 million random Word32 values, on a laptop with a 2.4GHz Core2 Duo P8600 processor, running Fedora 11 and GHC 6.10.3:

no flags   200+
-O           1.249
-O -fvia-C   0.991

As the numbers above suggest, compiling without optimisation will yield unacceptable performance.

Get involved!

Please report bugs via the github issue tracker.

Master git git repository:

  • git clone git://github.com/bos/mwc-random.git

There's also a Mercurial mirror:

  • hg clone http://bitbucket.org/bos/mwc-random

(You can create and contribute changes using either Mercurial or git.)

Authors

This library is written and maintained by Bryan O'Sullivan, bos@serpentine.com.

Something went wrong with that request. Please try again.