To me this sounds like a problem where Erlang might be a better choice. On Wed, Sep 28, 2011 at 4:04 PM, Andreas Voellmy <[email protected]> wrote: > On Sat, Sep 17, 2011 at 1:38 AM, Jesse Schalken <[email protected]> > wrote: >> >> There might be a way to do it, I don't know, but this sounds like an XY >> problem. 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 >> <[email protected]> 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 >> > [email protected] >> > http://www.haskell.org/mailman/listinfo/haskell-cafe >> > >> > >> >> >> _______________________________________________ >> Haskell-Cafe mailing list >> [email protected] >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > > > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
