Unfortunately, my website renders currently somewhere between half a second and one full second.
It's not my fault - at least, not entirely. My site's system is quite CPU intensive (alright, so that's my fault), and unfortunately the computer I am hosting it on has a constant process running at around 90% CPU, and often times has other processes running. This leaves precious little CPU for my website, which is thus quite slow.
On my MacBook Pro 2.33 GHz Core 2 Duo (2GB memory), the website takes a mere .07 seconds to render. That's roughly ten times as fast as the .7 seconds it took to generate my home page mere moments ago.
Further, I've implemented a new caching system on my development system, and it dropped the time down to around .01 seconds. The new system uses Memcached, which is slower than APC which I had been using, but which I use to do output caching.
One would think that the use of output caching would render even faster render times possible, and perhaps it would. However, I wanted to make sure that the contents of my pages were always accurate, and thus checks must be performed before the content can be used.
When I was using APC, I used an active-invalidation caching scheme, which invalidated old values as it cached new values. Each value had a list of values which depended on it.
Now, however, I am using a lazy scheme. Instead of storing a list of values which depend on a certain value, I am storing a list of values which are depended on by a specific value. Then, when accessing data, I check to see if the dependencies have been dirtied.
This is only feasible because of memcached's multi-get capability, which allows me to fetch the entire list of cached entries from the cache at once.
My database system is not the most efficient - it takes my MacBook Pro .3 to .8 seconds to render my home page, due to a staggering number of queries (a few hundred.) Caching data using APC used to make it take .05, like I said, but now it is up to .15 to .25 due to Memcached's slower speed.
Still, the output caching more than makes up for it.
Update: I have now implemented the new caching system on the server and it now creates pages in .05 seconds. A great improvement!