Drupal core getting slower?

Khalid over at 2bits.com has been doing some benchmarking recently.

The results seem to indicate that Drupal core is getting slower.

You would think by the comments on the 2bits site that Khalid had committed heresy by reporting his results. But, before we shoot the messenger lets clear a few things up.

  1. The purpose of a benchmark is to provide a baseline for the purposes of comparison. A methodology is chosen/stated, tests are done and results are collected and reported. Regardless of what those conclusions are, the 'benchmark' still stands unless there is a flaw in the methodology or method of reporting. A benchmark is usually considered more valid if it is independently reproducible. People can either accept this benchmark as is or attempt to reproduce them to validate or disprove.
  2. Benchmarks are not universal. They only report what was tested.
  3. The reader is left to draw their own conclusions.
  4. The reader can decide what to do based on those results. Some options include finding out why the results are the way they are or do some more benchmarking with slightly different methodologies to see if the initial benchmark is an isolated case.

I haven't personally verified the results, but the methodology Khalid used appears sound. Also, I trust that Khalid knows what he's doing and as far as I know he has nothing to gain by publishing bogus data. So, the conclusion I would draw is that Drupal core may indeed be getting slower.

Why? My first two guesses would be

  1. Core is growing
  2. The database is being touched more or they way its being touched is slowing things down

The more code there is the more memory required to load the code the more processing power required to interpret the extra code.
The more the database is queried the longer it takes for the code to finish execution. Or if there are a few "slow" queries it will impact on page rendering time. Hopefully its the latter, because that is usually easy to fix.

Should we be worried? Not really. Everything in programming is a trade off. And sometimes you have to trade a bit of performance to gain things like security, extensibility, portability or scalability. (Or you trade performance in one place to gain it in others - such as authenticated user page loads as someone suggested). So I don't think the sky is falling.

And one final note. In the case of Drupal 7 we are talking about a pre-alpha release. There is plenty of code refactoring that is yet to take place before we see a final release. We may have to reserve judgment about the speed of Drupal 7 until its done, but in the worst case its not necessarily a bad thing if its a bit slower.

andre

October 28th 2008 2AM
By: andre
File Under:

 

Comments

Thanks

Thanks Andre for the post.

It is a common phenomenon that publishing such benchmarks is taken negatively by a vocal few.

But what matters is getting over this, and doing something about it.

So anyone who is interested, please check this discussion and grab the new spreadsheets and try to analyze them.

Registry

Yes, we load much more code currently, but for example, please see http://drupal.org/node/259412

D7 will overcome this in the end.

Very good post, thanks a lot.

Very good post, thanks a lot.

Hardware Improvements

Additionally, at the same time that Drupal functionality improves, so does the hardware we serve our pages from (at least in theory, depending on our providers). Ideally, this will mean a net increase in speed for the end user, along with the improved functionality.