[wp-hackers] Streamlining Includes
ryan at boren.nu
Mon Mar 3 00:52:45 GMT 2008
Breaking this out from the caching thread...
On Sun, Mar 2, 2008 at 12:03 PM, Eric Marden <wp at xentek.net> wrote:
> Zend_Framework utilizes this quite a bit so I wouldn't say it is a
> language thing (php's OO shortcomings aside). But the concept of
> loading when needed, instead of all at once seems to be a good way to
> cut back on memory usage. The increase in performance from this, as
> applied to the current WP, is probably debatable, but maybe worth
Quite a bit of the time it takes to load the front page is spent
pulling in all of our includes. A lot of stuff is included just in
case a plugin needs it. Cutting down on what we include by default
seems a worthy goal.
PHP5 will autoload classes, but that doesn't help us since we neither
require PHP 5 nor use many classes. Another approach would require
plugins to declare what they need to be loaded and only load what is
asked for. This would break plugin back-compat, but maybe it's worth
it. Adding a function like
wp_load_functions($set_of_functions_to_load) and reorganizing some of
our includes could go a long way. For example, post.php currently
defines all post DB functions. This includes both functions that read
and functions that insert, update, or delete. Splitting the
insert/update/delete functions out into edit-post.php and loading that
file only when wp_load_function('edit-post') is called would trim
quite a bit of code from our default includes. Doing this for
taxonomy, links, and other areas could greatly reduce the amount of
code PHP has to load and interpret whenever a blog page is visited.
I'd love to streamline includes for 2.6. Thoughts?
More information about the wp-hackers