The problem (an extra call to filestore's 'latest' in 'getRawContents') is
fixed with the latest github code. With the fix, gitit2 (yesod) comes
out slightly faster than gitit (happstack) -- by about a 7/6 ratio in
one test. That's what I had expected originally.
+++ John MacFarlane [Jul 07 12 09:27 ]:
> Never mind -- I've traced the slowness to a difference unrelated
> to happstack and Yesod. Once I get this sorted out, I'll post here about
> the new benchmarks.
>> John
>> +++ John MacFarlane [Jul 06 12 19:50 ]:
> > I've been working on a port of gitit to Yesod, which is currently called
> > gitit2 (https://github.com/jgm/gitit2). At this point I have implemented
> > most of the basic wiki functionality.
> >
> > I've really been enjoying some of Yesod's features -- especially the
> > type-safe URLs, form support, internationalization, and widgets -- and
> > the code is much cleaner and shorter than the original gitit code.
> > But today I thought I'd look at performance, and I was surprised to
> > find that gitit2 is considerably slower than the original gitit (built
> > on happstack). For example, on one simple test page, siege recorded 9
> > transactions per second for gitit2, 18 for the original gitit. (This is
> > with caching turned off, so each hit involves getting content from the
> > git repository, parsing it, and creating an HTML wiki page. Of course
> > most of that work is done by filestore and pandoc, which are used
> > by both gitit and gitit2.)
> >
> > I'm really curious why gitit2 is so much slower, and I wonder whether
> > I'm making some basic mistake. At this point most of the code is in one
> > module, https://github.com/jgm/gitit2/blob/master/Network/Gitit2.hs .
> > This defines a Yesod subsite which is wrapped by a Yesod site in the
> > main executable, https://github.com/jgm/gitit2/blob/master/src/gitit2.hs> > . The benchmark I did just involved fetching the front page, so most
> > of the handlers are irrelevant. If anyone has any useful ideas, I'd be
> > grateful.
> >
> > John
> >
> >
> > _______________________________________________
> > web-devel mailing list
> > web-devel at haskell.org> > http://www.haskell.org/mailman/listinfo/web-devel> >
>> _______________________________________________
> web-devel mailing list
>web-devel at haskell.org>http://www.haskell.org/mailman/listinfo/web-devel>