alt131 - 11:32 pm on Mar 11, 2011 (gmt 0)
Wahoo! You have been busy - and without a yes/no, I did the tests myself. Want more time to reflect on your last post, but a first read suggests my results confirm - maybe inform - some parts of it.
How this relates to your tests
Although you have now moved to general optimisation techniques, these tests were designed around the OP, so provide a sub-set of more detailed information. The issue was that pagespeed wants efficient selectors and seems to treat some selectors as more efficient than others - which prompts the question
"Does pagespeed consider one "efficient" selector more "efficient" than others?
Second, although unused selectors are not significantly "penalised", they are the opposite of "efficient" - so what happens when they are removed.
Where this takes the thread
Nowhere new - just providing finer detail on a sub-set of questions prompted by the OP. It does reinforce the general thread theme that pagespeed scores reflect usual performance improvement techniques (optimsation, caching, etc). It confirms already identified oddities, and I think confirms that "refactoring" around the detailed warnings/suggestions relating to css and selectors is best left until the tool matures.
The chosen test page:
On a well-known site, mostly text, reasonably well-written code. I'm still struggling to find a pagespeed definition for "interactive", and this one may not qualify. But it provides an opportunity to test whether "non-interactive" pages respond the same way as "interactive" pages.
In the original weboptimisaton analyser gave all "congratulations", total weight 43000kbs, 7 htttp requests, 4s download at 128k. pagespeed (version 1.10.2) scored 91, complaining of un-combined css, inefficient selectors and unused css*. Downloaded and reassembled so it could be manipulated for testing scored 79 - an acceptable difference given it was uncached, no expires-by, a couple bad requests, etc
* Included alternate, print and other media css - all treated as required downloads, then all selectors reported "unused"
# just id's versus just classes
Made no difference to the score.
# just classes versus multiple classes
Could not be tested because (randomly) first or last class was reported as unused.
# "pagespeed efficient" descendent selectors versus just id's versus just classes
Results ceased to be meaningful: