[Haskell-beginners] Parallelism?

Michael Craig mkscrg at gmail.com
Fri Dec 2 01:08:32 CET 2011


Thanks, I'll keep that in mind.

I wrote a better example of what I'm trying to do:
https://gist.github.com/1420742 It runs worse with multiple threads than it
does with one (both time-wise and memory-wise), I think due to the bug
Simon described in that commit.

But that bug aside, is it possible to write a multithreaded application in
Haskell that sends large amounts of data from one thread to the other
without getting crushed by GC? I've looked into the garbage collector a
bit, and this seems problematic.

Mike S Craig


On Thu, Dec 1, 2011 at 2:38 PM, Edward Z. Yang <ezyang at mit.edu> wrote:

> OK. A common mistake when using channels is forgetting to make sure
> all of the informaiton is fully evaluated in the worker thread, which then
> causes the writer thread to spend all its time evaluating thunks.
>
> Edward
>
> Excerpts from Michael Craig's message of Thu Dec 01 13:17:57 -0500 2011:
> > Excellent! Glad this has been sorted out upstream.
> >
> > Edward, to answer your question regarding blocking database calls: I'm
> > using mongoDB to log events that come into a WAI webapp. The writes to
> > mongo are blocking, so I'd like to run them in parallel with the webapp.
> > The webapp would push the data into a Chan and the mongo writer would
> read
> > from the Chan and make the writes sequentially (using the Chan as a FIFO
> > between parallel threads). This would allow for request rates to
> > temporarily rise above mongo's write rate (of course with an expanded
> > memory footprint during those bursts).
> >
> > Mike S Craig
> >
> >
> > On Thu, Dec 1, 2011 at 12:10 PM, Felipe Almeida Lessa <
> > felipe.lessa at gmail.com> wrote:
> >
> > > On Thu, Dec 1, 2011 at 2:40 PM, Edward Z. Yang <ezyang at mit.edu> wrote:
> > > > Simon Marlow investigated, and we got this patch out:
> > >
> > > Nice work, guys!  Hope it gets included in the glourious GHC 7.4 =D.
> > >
> > > Cheers,
> > >
> > > --
> > > Felipe.
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20111201/753170c4/attachment-0001.htm>


More information about the Beginners mailing list