Battle plan for Drupal 7: performance

My battle plan for Drupal 7 is simple: get as many performance improvements or performance-improvement-enablers from my Drupal page loading performance article into Drupal 7. From high to lower priority:

  1. #214934: file_url() and hook_file_server() – yep, patch for Drupal 5 already available and in production use here on this site as well as DrupalBin) – for rule 2, rule 3 and rule 9.
  2. Automatic CSS sprite generator, for rule 1. I still have to play with this to figure out if it's a realistic goal.
  3. GZIP CSS and JS files, for rule 4.
  4. Put JS files at the bottom by default. However, when at least one JS file is added to the header, both jquery.js and drupal.js should be added to the header as well. JS files that alter the appearance of the site heavily (such as carousels) should always be added to the header, and guidelines for this should be written, and should be very clear. This is for rule 6.

If I manage to get all these improvements in, Drupal 7 will without a doubt be the fastest loading out-of-the-box Drupal release ever. And if you can and are willing to pay for a CDN, it can even be faster.

The average site uses the Garland theme, Google Analytics, has at least some images on its frontpage, and does not have access to a CDN.
I simulated this on my frontpage, and my YSlow score was 85. With a CSS sprite generator, that'd be a better score of course. So that's my goal for a default Drupal 7 installation: a YSlow score of 85.

Click the images below for bigger versions:

Comments

I'm far from an expert, but

I'm far from an expert, but I think frontend performance tuning is an interesting area, and I'll try to help out wherever I can :) Like Steve Souders has demonstrated, there's a lot to gain on the frontend side of things - even for Drupal.

Especially for Drupal!

I'd like to say: especially for Drupal. If Drupal gets all these things Right, then Drupal will deliver an amazing out-of-the-box performance, and thus experience for more users. Thus again increasing the adoption rate.

Go Drupal! :)

CSS Sprites: a Drupal work?

If I'm allowed to post my two cents (I found this post for chance), I'd express my doubts about the CSS sprites generation part: are you sure it is a work for the CMS? Shouldn't it be a work for the designer who made the theme?

I think that adding a sprite generation facility to Drupal is not only a unrealistic goal, but probably a wrong thing.

I'm only a casual visitor here, but I already heard of this idea, and sincerely I think it'd complicate things (breaking some themes?) more than providing real benefits. Obviously, if you find a way to do it, without incurring in the mentioned problems, it'll be welcome.

About all the other points, indeed, I agree 100%. Just my 2 cents.

Post new comment

The content of this field is kept private and will not be shown publicly.
Syndicate content