name: acme-memorandom category: ACME version: 0.0.3 license: MIT license-file: LICENSE author: Johan Kiviniemi maintainer: Johan Kiviniemi stability: provisional homepage: https://github.com/ion1/acme-memorandom bug-reports: https://github.com/ion1/acme-memorandom/issues copyright: Copyright © 2015 Johan Kiviniemi synopsis: Memoized random number generation description: 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. tested-with: GHC == 7.10.1 build-type: Simple cabal-version: >=1.10 extra-source-files: .gitignore ChangeLog.md README.md source-repository head type: git location: https://github.com/ion1/acme-memorandom.git library exposed-modules: System.Random.Memoized hs-source-dirs: src other-extensions: CPP, TypeFamilies, TypeOperators build-depends: base == 4.* , MemoTrie == 0.6.* , random == 1.* default-language: Haskell2010