acme-memorandom: Memoized random number generation
A library for generating random numbers in a memoized manner. Implemented as
a lazy table indexed by serialized StdGen. Monomorphism is used to
facilitate memoization, users should adapt their design to work with random
Int values only.
In a benchmark, the initial generation of 100000 random Ints took 10.30
seconds and consumed 2.5 gigabytes of memory. Generating the 100000 Ints
again from the same seed only took 2.06 seconds, a 5-fold speedup thanks to
memoization!
Incidentally, generating the 100000 Ints with the non-memoized function
took 0.12 seconds, but that of course lacks all the benefits of memoization.
[Skip to Readme]
Downloads
- acme-memorandom-0.0.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.0.1, 0.0.2, 0.0.3 |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | base (>=4 && <5), MemoTrie (>=0.6 && <0.7), random (>=1 && <2) [details] |
| Tested with | ghc ==7.10.1 |
| License | MIT |
| Copyright | Copyright © 2015 Johan Kiviniemi |
| Author | Johan Kiviniemi <devel@johan.kiviniemi.name> |
| Maintainer | Johan Kiviniemi <devel@johan.kiviniemi.name> |
| Category | ACME |
| Home page | https://github.com/ion1/acme-memorandom |
| Bug tracker | https://github.com/ion1/acme-memorandom/issues |
| Source repo | head: git clone https://github.com/ion1/acme-memorandom.git |
| Uploaded | by ion at 2015-05-15T23:38:34Z |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 2621 total (2 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2015-05-18 [all 1 reports] |