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

Antoine Latter aslatter at gmail.com
Sun May 18 12:23:10 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
>

Neal, those two profiling results aren't really comparable, because
your Parsec2 profiling doesn't include any cost-centers from the
Parsec library - so all of the costs associated with Parsec2 will be
assigned to cost-centers in EQ2Parse.

I've tried running this profiling on my own computer, and using the
same Cabal options for Parsec2 as Parsec3, I never seem to get CAFs
from Parsec2 to show up in the profiling result this this test.

Can anyone help me out?

I configure parsec (2 and 3) as follows:
$ runghc Setup.hs configure --prefix=${HOME}/usr
--enable-library-profiling --user --enable-optimization

and then I build the "Main" as follows:
$ ghc --make -O2 -prof -auto Main -package parsec-2.1.0.0
 - or -
$ ghc --make -O2 -prof -auto Main

And I run main as:
$ ./Main +RTS -p -RTS

When I specify the parsec-2.1.0.0 on the command-line, the Main.prof
doesn't include any parsec CAFs.


Thanks,
Antoine


More information about the Haskell-Cafe mailing list