[Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

wren ng thornton wren at freegeek.org
Thu Aug 19 17:29:25 EDT 2010

John Millikin wrote:
> On Wed, Aug 18, 2010 at 23:33, Jason Dagit <dagit at codersbase.com> wrote:
>> The main reason I would use iteratees is for performance reasons.  To help
>> me, as a potential consumer of your library, could you please provide
>> benchmarks for comparing the performance of enumerator with say, a)
>> iteratee, b) lazy/strict bytestring, and c) Prelude functions?
>> I'm interested in both max memory consumption and run-times.  Using
>> criterion and/or progression to get the run-times would be icing on an
>> already delicious cake!
> Oleg has some benchmarks of his implementation at <
> http://okmij.org/ftp/Haskell/Iteratee/Lazy-vs-correct.txt >, which
> clock iteratees at about twice as fast as lazy IO. He also compares
> them to a native "wc", but his comparison is flawed, because he's
> comparing a String iteratee vs byte-based wc.

I was under the impression Jason was asking about the performance of the 
iteratee package vs the enumerator package. I'd certainly be interested 
in seeing that. Right now I'm using attoparsec-iteratee, but if I could 
implement an attoparsec-enumerator which has the same/better 
performance, then I might switch over.

So far I've been very pleased with John Lato's work, quality-wise. 
Reducing dependencies is nice, but my main concern is the lack of 
documentation. I know the ideas behind iteratee and have read numerous 
tutorials on various people's simplified versions. However, because the 
iteratee package uses somewhat different terminology and types, it's not 
always clear exactly how to translate my knowledge into being able to 
use the library effectively. The enumerator package seems to have fixed 
this :)

Live well,

More information about the Haskell-Cafe mailing list