Source

mwc-random / README

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 feel welcome to contribute new code or bug fixes.  You can
fetch the source repository from here:

darcs get http://darcs.serpentine.com/mwc-random


Authors
-------

Bryan O'Sullivan <bos@serpentine.com>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.