[Haskell-cafe] Turn GC off

Andreas Voellmy andreas.voellmy at gmail.com
Wed Sep 28 15:04:57 CEST 2011


On Sat, Sep 17, 2011 at 1:38 AM, Jesse Schalken <jesseschalken at gmail.com>wrote:

> There might be a way to do it, I don't know, but this sounds like an XY<http://www.perlmonks.org/index.pl?node_id=542341>
> problem <http://mywiki.wooledge.org/XyProblem>. Can I ask what you're
> trying to achieve by doing this, or is it just out of curiosity regarding
> how much garbage is created? (It's a lot, by the way. Since the only thing a
> purely functional program can do is create data and read data (as opposed to
> create, read and update in an impure program) I imagine a purely functional
> program without GC would hit OOM very, very quickly.)


Sure. I'm writing a server that serves a number of long-lived TCP
connections. The clients can be served mostly independently; there is a bit
of shared state among the different connections. I'd like to use the
concurrency available to scale the server to handle a large number of
clients. Ideally I would just use more cores to handle a larger number of
clients. It seems that GC is the biggest obstacle to doing this. The problem
seems to be that the current GC stops all the processors before performing a
GC. With a large number of processors this becomes expensive, and I find
that a program that has really high mutator productivity with one processor
can get terrible productivity at 12 or more processors. Of course, it helps
to reduce the allocation rate of the program, but even after being very
careful about how much memory is allocated, GC still takes up a significant
amount of time. So I was looking for a way to turn off GC altogether just as
an experiment to see how the program would perform without all the GC
pauses.

--Andreas




>
> On Thu, Sep 15, 2011 at 2:42 AM, Andreas Voellmy <
> andreas.voellmy at gmail.com> wrote:
> > Hi everyone,
> > Is there a way to completely turn garbage collection off in the Haskell
> > runtime system? I'm aware of the -A runtime option, but I'd like to
> > completely turn it off, if possible. I'm OK with running the program
> until
> > it runs out of memory, and I'm willing to recompile GHC if needed.
> > Regards,
> > Andreas
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110928/ae985271/attachment.htm>


More information about the Haskell-Cafe mailing list