[Agda] Agda interface generation memory consumption
Nils Anders Danielsson
nad at Cs.Nott.AC.UK
Sat Feb 13 15:42:05 CET 2010
On 2010-02-10 01:50, kahl at cas.mcmaster.ca wrote:
> However, in many cases, it only means that I get to the out-of-memory crash
> five times faster --- I documented the case that is currently my problem:
>
> http://sqrl.mcmaster.ca/~kahl/RATH/Agda/
Thanks for the example.
I could type check your problematic module
(Data.Algebra.Generalised.BisimCommutes) on my machine with less RAM. I
almost always use something like +RTS -M2G to limit the amount of heap
space allocated by Agda. In the case of your module I got the following
profile, with all the imports already type-checked, and the RTS options
-H2G and -M2G:
117,981,545,772 bytes allocated in the heap
6,466,725,572 bytes copied during GC
1,684,936,324 bytes maximum residency (13 sample(s))
7,594,984 bytes maximum slop
2047 MB total memory in use (16 MB lost due to fragmentation)
Generation 0: 401 collections, 0 parallel, 35.80s, 35.92s elapsed
Generation 1: 13 collections, 0 parallel, 89.27s, 89.53s elapsed
INIT time 0.00s ( 0.00s elapsed)
MUT time 231.70s (233.72s elapsed)
GC time 125.07s (125.45s elapsed)
EXIT time 0.00s ( 0.00s elapsed)
Total time 356.77s (359.17s elapsed)
%GC time 35.1% (34.9% elapsed)
Alloc rate 509,202,935 bytes per MUT second
Productivity 64.9% of total user, 64.5% of total elapsed
The total time needed to type check your example is still rather high,
though.
--
/NAD
More information about the Agda
mailing list