[Haskell-cafe] Re: Parsec3 performance issues (in relation to v2)

Antoine Latter aslatter at gmail.com
Wed May 14 00:43:47 EDT 2008


On Tue, May 13, 2008 at 9:23 PM, Neal Alexander <wqeqweuqy at hotmail.com> wrote:
>  I stripped the code down to just the parsec related stuff and retested it.
>
>  http://72.167.145.184:8000/parsec_test/Parsec2.prof
>  http://72.167.145.184:8000/parsec_test/Parsec3.prof
>
>  And the parser with a 9mb (800 kb gziped) sample log file:
>  http://72.167.145.184:8000/parsec_test.tar.gz
>

So I've been picking at some ways to speed up Parsec 3.  I haven't had
much success at this benchmark, but one thing confused me:

In my hacked-up version, when I change the monadic type from a "data"
declaration to a "newtype" declaration, I get a significant slowdown.
In the program posted by Neal, I go from ~43 s with "data" to about 1
minute with a "newtype".

Is this expected?  I don't really understand why adding an extra layer
of indirection should speed things up.

-Antoine


More information about the Haskell-Cafe mailing list