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 Int
s took 10.30
seconds and consumed 2.5 gigabytes of memory. Generating the 100000 Int
s
again from the same seed only took 2.06 seconds, a 5-fold speedup thanks to
memoization!
Incidentally, generating the 100000 Int
s 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 | 2575 total (14 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] |