iteratee ANN: -stm released
jwlato at gmail.com
Sat Oct 8 13:50:32 BST 2011
I just uploaded iteratee-stm to hackage. Iteratee-stm provides
iteratees and enumerators to work with bounded STM channels.
The two main functions are `forkIter` and `forkEnum`, which fork a
thread to run an iteratee and enumerator, respectively.
Basic usage is very simple, just change
enum iteratee >>= run
(forkEnum chansize enum) iter >>= run
and of course compile with -threaded and -rtsopts.
For my usage this has provided a substantial performance benefit with
a chansize of 2 or 4.
One issue to be aware of: iteratee exceptions are not propagated
between forked enumerators/iteratees. This means that if the iteratee
uses seek, or otherwise makes use of exceptions, the resulting program
will not work. A likely result is a runtime crash. I plan to get
this really resolved with iteratee-0.9.
Feedback is welcome!
More information about the Iteratee