[Haskell-cafe] [reactive] A pong and integrate

Don Stewart dons at galois.com
Sat May 15 14:27:28 EDT 2010


Make sure you're profiling with -prof -auto-all

And any packages you're using may need -auto-all as well.

limestrael:
> I'm definitely not good at profiling...
> But I have something:
> 
>    4,971,190,736 bytes allocated in the heap
>    4,392,735,248 bytes copied during GC
>       13,998,328 bytes maximum residency (573 sample(s))
>        3,281,000 bytes maximum slop
>               38 MB total memory in use (0 MB lost due to fragmentation)
> 
>   Generation 0:  6987 collections,     0 parallel,  3.18s,  3.01s elapsed
>   Generation 1:   573 collections,     0 parallel,  1.74s,  1.90s elapsed
> 
>   INIT  time    0.00s  (  0.00s elapsed)
>   MUT   time    6.60s  (  9.54s elapsed)
>   GC    time    4.92s  (  4.91s elapsed)
>   RP    time    0.00s  (  0.00s elapsed)
>   PROF  time    0.02s  (  0.03s elapsed)
>   EXIT  time    0.01s  (  0.01s elapsed)
>   Total time   11.55s  ( 14.49s elapsed)
> 
>   %GC time      42.6%  (33.9% elapsed)
> 
>   Alloc rate    752,071,215 bytes per MUT second
> 
>   Productivity  57.2% of total user, 45.6% of total elapsed
> 
> 
> COST CENTRE                    MODULE               %time %alloc
> 
> MAIN                           MAIN                  92.2   89.9
> newPaddle                  Pong.Types             7.8    9.9
> 
> 
> Apparently, the integral (which is in newPaddle) does not consumes lots of
> memory and time. It's the main.
> 
> I don't see where I should add strict evaluation.
> 
> 
> 2010/5/15 Limestraël <limestrael at gmail.com>
> 
>     Okay,
>     guess I'll have to bring out the chapter 25 of my Real World Haskell...
> 
> 
>     2010/5/15 Bulat Ziganshin <bulat.ziganshin at gmail.com>
> 
> 
>         Hello Limestraėl,
> 
>         Saturday, May 15, 2010, 7:02:38 PM, you wrote:
> 
>         > But when I set my beat to tick every 60 times per second, the
>         > position is well updated, but I clearly see that the display
>         > dramatically slows down after a few seconds of execution. Too heavy
>         rate for integrate?
> 
>         it may be due to lot of uncollected garbage that is result of lazy
>         evaluation. profile program to check its GC times
> 
> 
>         --
>         Best regards,
>          Bulat                            mailto:Bulat.Ziganshin at gmail.com
> 
> 
> 
> 
> 

> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list