[Haskell-cafe] Fusing foldr's

Josef Svenningsson josef.svenningsson at gmail.com
Tue Oct 30 09:13:04 EDT 2007


On 10/29/07, Bulat Ziganshin <bulat.ziganshin at gmail.com> wrote:
> you may also look at these data:
>
>   1,225,416 bytes allocated in the heap
>     152,984 bytes copied during GC (scavenged)
>       8,448 bytes copied during GC (not scavenged)
>      86,808 bytes maximum residency (1 sample(s))
>
>           3 collections in generation 0 (  0.00s)
>           1 collections in generation 1 (  0.00s)
>
> if your hypothesis is true, amount of data copied and number of
> generation-1 collection should be much less in the second case
>
Indeed.

avg4:
880,935,612 bytes allocated in the heap
319,064,404 bytes copied during GC (scavenged)
318,965,812 bytes copied during GC (not scavenged)
201,080,832 bytes maximum residency (9 sample(s))

       1681 collections in generation 0 (  1.67s)
          9 collections in generation 1 ( 13.62s)

avgP:
1,761,224,604 bytes allocated in the heap
    714,644 bytes copied during GC (scavenged)
    593,184 bytes copied during GC (not scavenged)
    184,320 bytes maximum residency (2 sample(s))

       1908 collections in generation 0 (  0.04s)
          2 collections in generation 1 (  0.00s)

Allocation is cheap, copying expensive.

All the best,

/Josef


More information about the Haskell-Cafe mailing list