John Millikin wrote:
On Wed, Aug 18, 2010 at 23:33, Jason Dagit <da...@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,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe