[Haskell-cafe] Re: Optimizing Parsec 3 -- was: Wiki software?

John MacFarlane jgm at berkeley.edu
Sat Dec 5 16:57:07 EST 2009


+++ Howard B. Golden [Dec 05 09 13:36 ]:
> On Friday December 4, 2009, John MacFarlane wrote:
> 
> > I used criterion to compare pandoc compiled with parsec2 to
> > pandoc compiled with your version of parsec3.  (The benchmark
> > is converting testsuite.txt from markdown to HTML.) The difference
> >  was minor:
> > 
> > parsec2:
> > mean: 67.66576 ms, lb 67.56722 ms, ub 67.88983 ms, ci 0.950
> > std dev: 722.3878 us, lb 323.0343 us, ub 1.356013 ms, ci 0.950
> > 
> > parsec3:
> > mean: 68.20847 ms, lb 68.16387 ms, ub 68.26284 ms, ci 0.950
> > std dev: 252.7773 us, lb 204.5512 us, ub 325.2424 us, ci 0.950
> > 
> > So, once you release the new parsec3, I am prepared to remove the
> > "parsec < 3" restriction from the libraries I maintain: pandoc,
> > highlighting-kate, filestore, gitit, and yst.
> 
> I don't know what the performance of the current parsec3 is compared to 
> parsec2. It would be helpful if you could run your benchmark for that 
> also and include it.

parsec 2.1.0.1 from HackageDB:
mean: 67.71456 ms, lb 67.65181 ms, ub 67.82660 ms, ci 0.950
std dev: 416.1303 us, lb 274.0063 us, ub 761.6995 us, ci 0.950

parsec 3.0.1 from HackageDB:
mean: 188.5380 ms, lb 188.3217 ms, ub 188.7615 ms, ci 0.950
std dev: 1.136199 ms, lb 964.3489 us, ub 1.366720 ms, ci 0.950

parsec 3.0.1 from Antoine:
mean: 69.29665 ms, lb 69.22450 ms, ub 69.48016 ms, ci 0.950
std dev: 551.3562 us, lb 263.7954 us, ub 1.156183 ms, ci 0.950

> If the only issue is performance, I respectfully request that you remove 
> the parsec < 3 requirement even before the new version of parsec3 is 
> released. Thank you.

Sorry, I don't want to do that. Lots of people have both parsec-2 and
parsec-3 installed, and if I remove the restriction, their pandoc (and
gitit and...) will be much slower unless they take special steps.

John



More information about the Haskell-Cafe mailing list