Here is the first post with results from benchmark tests I conducted over the past few days. Before we proceed to results, I will give more details on the methods of measurement used for the administration part of the tests. Results contain both memory usage, time needed for server to prepare the results and the total output size.
I made few changes to each of the WP installations so that the measuring rendering time is more accurate. Also, I changed few things in GD Press Tools also, and the Arthemia theme for the next part when the benchmark will be done for the actual blog. For some of the plugins I used older versions for WP 2.6.5, as recommended by the plugins authors. All results displayed on the charts are mean value from 5 measurements. I used Opera 9.64 browser for time and memory tests, and Firefox 3.0.11 with Firebug 1.3.3 for size of the output (personally I don’t like Firefox at all).
For test configuration and setup check the previous post: Benchmark Setup. On all 3 charts, first 3 columns for each page is for WordPress without plugins (only GD Press Tools is active), and the next 3 columns are for WordPress with all 15 plugins active, list of plugins in setup article.
Why benchmarking?
The reason I made these tests is because it’s obvious that no one in WordPress development team didn’t do anything like this. In fact they even claimed that WP 2.8 is much faster, and that’s simply not true at all. Take a look at this page, and notice that one of the highlights is speed of the admin pages. Speed can be gained using Turbo with Google Gears, and in that case browser needs less time to render the pages. But Opera, Safari, Chrome and Firefox are very fast already and will render very fast anything you throw on them. Browsers can’t speed up server response time. And Gears is not an option for Opera or Safari users (hopefully we will see better Gears browser support soon), not to mention problems I had with Gears in Firefox and that I don’t plan to start using it any time soon.
WP 2.6.5 is used only as a reference, in most cases you can’t really compare it with WP 2.7 or WP 2.8 because interface and some other things are rewritten, but it’s interesting to see how WP 2.6.5 compares to latest releases in terms of performance.
Page load times
First series of tests are to determine how much time PHP and server needs to generate a single page. Some of the things were problem to measure with WP 2.8, but I will get to that later. Even when the pages are partially loaded from cache this time is more or less the same. I noticed some 10-20% drop in WP 2.8 for reloading the same page, but that’s still too high.
WP 2.8 is more than 2 times slower than previous two WordPress versions. On some pages difference is even bigger. I have measured 4 pages, 3 are WP native pages, last one is Settings panel from GD Press Tools, and it’s the fastest in the group because it doesn’t load a bunch of things most WP pages do.
But, there are some pages that need much more time. General settings page takes more than 10 or 15 seconds to load, because for some reason WP developers decided that the time zone list needs to be populated from WordPress website. This list could been included in the WordPress code. Right now it gets really frustrated to change any of these settings and need to wait all that time. That’s simple unacceptable.
Used memory
Things are pretty much the same with memory usage. As you can see 15 plugins add a lot to the memory used. WP 2.6.5 uses much less memory in both cases but that’s not a big surprise.
WP 2.7 and WP 2.8 have totally rewritten interface and because of that it needs more memory. But the problem is with WP 2.8 that more or less should have the same memory usage as WP 2.7 because the changes were not that significant to cause this difference. Dashboard is the biggest problem and it uses some 25% more memory than WP 2.7. On some pages like the the general settings I mentioned earlier in some cases I noticed memory leaks and memory use increases to 45-55 MB. On one instance loading failed meaning that it exceeded preset 64MB. And again, that’s most likely caused by the timezone code.
Page size
Finally this is something where WP 2.8 is actually better than WP 2.7. Again, WP 2.6.5 pages are smaller because of the different front end, but it’s interesting to see how much the interface ‘costs’.
WP 2.8 generates smaller pages compared to WP 2.7 mostly because of better optimization of JavaScript and CSS loading and joining several files into one. And in the same time that’s one of the reasons for slower loading and increased memory usage with WP 2.8.
Conclusion
There was a discussion on Weblogtoolscollection website about using 1 or 100 plugins, and it’s obvious that number of plugins active will increase used resources and time needed for page to be rendered. Another post that will investigate this much deeper. It will take some more time to prepare but it’s coming soon.
Based on all this is clear that in terms of speed and memory usage WP 2.6.5 administration is much better than the latest WP versions. On the other hand these are not actual pages that blog visitors see, and next post present results of blog benchmark under same condition, so I am not going to give some definitive judgement right now. I know a lot of people that still use WP 2.6.5 because they can’t increase memory every time WP is released. When WP 2.8.1 is released I will do a benchmark against current WP 2.8, to see if indeed developers managed to solve memory usage increase and lower speeds.
I use WP 2.8 on all my blogs right now, but I must say that I am not happy with performance of the administration compared to older versions. Interface IS much better, and to some point I understand and accept that the performance is a trade off for the interface and better work flow. But only to a point. I will be very disappointed to see WP 2.9 some 7-8 months down the road that instead of 40MB needs 50MB or more to work.
So, tell me what you think about data presented here, and about your own experiences with last 3 versions of WP, and especially with WP 2.8. And stay tuned for more benchmark results.
Have you also tried WP 2.8.1 beta 2
(changelog; Dashboard memory usage is reduced. Some people were running out of memory when loading the dashboard, resulting in an incomplete page. )
I will wait for 2.8.1 final to be released. WP 2.8 also should be using less memory, but that turned out differently. So, better wait for final.
For reasons I prefer to wait voor final releases as well.
Nice to see the results, I’m impressed with the speed you created all tests.
Sorry but can only talk about 2.7.1 en 2.8 (yes ok, I’m at the stage of experienced beginner of WP). I noticed 2.8 when only using WP’s web interface it’s a bit slower then 2.7.1.
What I do miss in above results: the CPU load for the different versions.
In the dashboard, how about iconizing some items, so they will not be loaded. How will the performance improve for the dashboard? Or not?
At least you thought about it 😉
So on the dashboard page there’s some speed to improve for the WP guys.
I could ask for lots of things but I won’t. You probably have had lots of thoughts about it.
Anyway nice to have read your facts and keep up the good work!
I’ll follow closely this thread, thanks for all the work and time you spend
Gears is available for Safari 3.1.1 and above on Mac. Gears currently only supports Internet Explorer and Firefox on Windows.
Gears features utilized by Turbo would now use HTML5 offline if rewritten today.
Gears is not working with Firefox 3.5 on Windows. Not sure who’s fault it is, Mozilla (most likely) or Google.
Server generation time doesn’t matter that much, 95% of render time is on the client-side, which is the opposite of your claim that browsers are fast enough these days to handle anything. Here’s some great information on front-end performance:
http://developer.yahoo.com/performance/
That was the focus of the 2.8 release.
That said, we’re always trying to make things faster and better as shown in the improvements in 2.8.1. If you have any suggestions for things we could make better or optimize, please let the team know!
Server performances are very important because a lot of people are using shared hosting for their blogs, and each new WP requires more resources on the server side. And to a point I agree to trade off performance for better and more functional interface, and WP 2.8 is great in that area, but use of memory and time needed to preprare page with it is a big problem. I have been playing with 2.8.1 beta and it’s definitly faster.
As I have announced I will do a browser tests also, because all that is needed to get more objective picture. Don’t get me wrong, I LOVE WP, and I will not going to change it for anything else, and these tests and many more to follow will hopefully help making WP even better.
Agreed! Let’s make it better.
Second part is published few dyas ago, for those who missed it:
http://www.dev4press.com/2009/07/01/wp-benchmark-blog/
New benchmark with WP 2.8.1 results: http://tr.im/s2X3