[Haskell-cafe] Killer pickler combinators (was Time leak)

Tomasz Zielonka tomasz.zielonka at gmail.com
Wed Dec 21 05:40:36 EST 2005


On Wed, Dec 21, 2005 at 10:33:12AM +0000, Joel Reymont wrote:
> >My guess is that without tweaks the threads allocate more, which
> >increases the pressure on GC. Try to analyze the GC stats with and
> >without tweaks.
>
> This should not be the case. The amount of work is the same  
> regardless and the issues seem to be with _timing_. Passing in trace  
> that writes to the screen with a lock sort of slows things down.

I was unclear. Of course, every thread does the same amount of work, but
"without tweaks" the threads working together can manage to increase the
amount of memory that is required at a given point in time.

Take an example - you have a computation that requires 1MB of memory.
If you run it sequentially 1000 times, you still need only 1MB of
memory. But if you span 1000 threads simultaneously and run the
computation it each of them, you may need even 1000 * 1MB of memory.

This may cause problems with cache, swaping, etc.

The other question is how GHC's garbage collection performance scale in
such situations?

Best regards
Tomasz

-- 
I am searching for a programmer who is good at least in some of
[Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland


More information about the Haskell-Cafe mailing list