A little while ago I had a project requiring me to optimise a site for heavy traffic, so was directed to look at the StaticPublishing mechanism.
However, there were some things I really did not like about this, namely the requirement that the cache had to then be rebuilt in order to view the site. I also had some issues with enumerating the SiteTree, since (at least in my application) a page could have different views applied to it (using various urls to redisplay localised content).
I developed a new module which did caching in a different way, caching content on the fly, a single page at a time using output buffering
https://github.com/tractorcow/silverstripe-dynamiccache. Splitting up the task of caching content meant that updating content in the back end no longer had a massive overhead, and doing caching on a request by request basis meant that different page views (such as different page actions on a single page) gave me a more robust cache. Pages that don't ever get viewed aren't cached.
It's very beta and finicky at the moment; There are a few hacks in there for bypassing cache for form errors and so on, but if anyone can give me feedback on this I'd be grateful.
I was really happy to get page loading times down from 2 seconds to 40ms. :)