According to my stopwatch calculations, and for comparison purposes
only, I can build a given page in BoltWire in about .7 sec.
By setting in site.config, zoneCache:
top,bottom,side,main,header,footer (or whatever zones I want) I can
cut that time to about .07 sec, a 10x improvement. This option caches
each zone and retrieves them, generally when it is smart to do so.
There may be glitches in the logic, but it seems to be working as I
intend...
If I turn on htmlCache, which caches entire pages, that same page gets
cut down to .0012 sec, an improvement of nearly 600x!
You can turn the different kinds of caching on or off, and you
immediately switch modes with no problems. You can edit pages and/or
zones (or run any action on a page including action=view), and the
cache's get instantly updated, so things stay current with little
extra effort. You cannot of course cache dynamically generated content
(like a header breadcrumb or a footer page counter), but you can
compensate on special pages (like a search page) by either using a
config page to turn off caching for that page, or giving it an action
like action=view. There's probably some way to turn off caching on
specific pages, but I'm not sure the best approach for that. Maybe a
simple [(nocache)] function...
I'm going to release the new code shortly (I'm hungry, it's lunch
time). But I am going to consider this release a bit experimental, as
the caching could cause some unintended problems or confusion I
haven't yet encountered. Upgrade with caution. I'll try testing it on
BoltWire to see if we it causes any undue problems... At 600x
performance boost, we should solve the cpu issues!
Cheers,
Dan