[Haskell-cafe] Re: Re[10]: Parallel combinator, performance advice
Neil Mitchell
ndmitchell at gmail.com
Wed Apr 8 08:28:48 EDT 2009
Hi Bulat,
>> I've attached a revised implementation. With my benchmark it gives a
>> stack overflow:
>
> let incRef = atomicModifyIORef r (\a -> (a,a))
That was the problem, I now no longer get a stack overflow.
>> As a side note, it's necessary to add parallelStop, to kill all the
>> threads - or you get thread blocked exceptions being raised.
>
> alternatively, you can catch this exception in addWorker
I could, but it wouldn't be that easy to tell if the reason for the
deadlock was the program finishing a real deadlock occurring in the
system. I'd rather not catch exceptions where possible.
Thanks
Neil
More information about the Haskell-Cafe
mailing list