In reply to Ryan Cowles.

I think that is something that should be addressed as well. I've been spending a lot of time working on improving efficiency of several plugins. A lot of plugins will load all the files for is_admin without checking to see if those files are actually required at the time. Breaking down files so there is a loader that creates the initial menu page and then load files as needed can make big improvements in plugin efficiency.

I've actually been playing with using the autoload method so loading the files can happen automatically when the class is invoked. The overhead is extremely minimal and the page load savings when a given class isn't being used is pretty impressive across a large system.

To be honest, this should become standard practice for all plugin authors.

Also, p3 is a great tool for your average user but for much better benchmarks but there are better tools out there that allow for detailed load measurements. I've been using Webgrind to find out which functions, classes, methods, and files are taking longer to load. It's independent of WP so I can setup scripts to load a given set of pages 50x logged in as admin, logged in as other users, not logged in ... Then review the results and draw some conclusions, make changes and run the tests again.

Granted, webgrind is far from accessible. It took me the better part of a day to figure out how to set it up the first time and I keep finding tricks to automating more of my tests and comparing results. Also, I wouldn't leave the webgrind and underlying tools active on a production server any more than I'd leave p3 active on a live site.