If i create a large page (~60K) then gitit takes a very long time to generate it. top shows ~80-90% CPU usage by gitit.
after some experimenting i've managed to work out that it's a particular string that's making pandoc take ages to convert... i'll file a bug there instead.
It might be worth using System.Timeout.timeout to wrap the page conversion, so that if pandoc has one of its rare exponential moments, gitit can return a "page timed out" error instead of locking up the processor.
i dunno how haskell works, but this sort of stuff could also be done in a separate thread (or equivalent) so that other requests from other users can be handled in the mean time?
happstack-server should do that anyway. But it's still bad to have one process that's taking up huge amounts of CPU for a long time, and it's bad for the user to request a page and have no response for a long time.