OK, the setup: I have two machines, exactly the same, in the same place.
One is running the latest Slash 1.0.x from CVS, and the other is running
bender.
I set up a test where the two sites have a story with the same comments,
hundreds of comments for that story. I craft URLs so that each site will
give me the data in the same manner (nested, oldest first, threshold 1,
etc. all the way through). 50 comments are displayed in each, along with
anothe hundred or so links to other stories. I download that URL with lwp
from the OSDN network to my Linux box at home.
So the key differences: one is 1.0.x, one is bender. Also, 1.0.x is using
a different "theme." That and the fact that the default bender theme is
still not optimized contributes to these size differences for the
downloaded files:
1.0.x: 152265 bytes
bender: 248981 bytes
I downloaded each a bunch of times. So 1.0.x downloads in one second.
bender downloads in 7 seconds.
If I disable all the templates, so they do not print anything and do not
even get processed, so they take up relatively no time, and less than 1K of
data is sent, then the bender download takes 5 seconds.
Now, my methods and tests may be flawed, but they seem to bear out the
other testing I've done informally over the last months. There is nothing
extremely scientific in them, I just tried to get some reasonable
comparisons.
So the good news is that ALL of the templates required to process a page
with 50 comments (that means the dispComment template executed 50 times,
linkComment over a hundred times, the header, footer, various other
templates, etc.) and send all that data to the client takes about 2-3
seconds. That ain't too shabby for all that processing (though it would be
nice to speed it up). You might know that before, I was getting worse
results in a more informal test, but I had broken caching. Now that
templates are cached, those templates are processing quite quickly.
The bad news is that we need to find more places to optimize, including
templates, but not exclusive to templates. This includes the HTML in the
templates, because these resulting pages are bigger than their older
conterparts, and they take significantly longer for my browser to render,
too.
The other good news is that the performance -- except for the HTML
optimization -- seems to be pretty good for most sites. Most sites won't
have to worry about pages this big, and even if they do, the download time
is still pretty reasonable. We will be able to leave some of the work on
optimizations, in my opinion, for Slash 2.1.
--
Chris Nandor pu...@po... http://pudge.net/
Open Source Development Network pu...@os... http://osdn.com/
|