Code in theme functions.php faster than with a plugin?

I agree with Rarst that on the optimization “to-do” list , this is low-priority.

..however, As far as I know , this statement :

This is myth and false

Is not always true .
Disabled plugins DO use memory in an un-direct way .
and sometimes – depending on the quality and the quantity of plugins – a lot of it too.

The reason lies in two basic facts .

1 – Plugins write data to wp-options table .

Essentially, there are two types of related data :

core data (written by wp itself, e.g. option_name="active_plugins";)

and “user” data (for lack of better name) – this is data that the plugin itself writes, which brings me to the second reason :

2 – many plugin authors do not optimize their plugins, especially when it is about the uninstall process.
This causes the wp_options table to fill with unnecessary information. and sometimes a lot. many users think that if they “deactivate” a plugin – everything is back to normal.

..But it is not .

Unless the plugin author has included an uninstall process to clean all the garbage-data.

..But They rarely do (I myself always insist on including that option).

If you want to verify this with your own eyes – go to .

http://yoursite/wp-admin/options.php

you will see data from deactivated plugins.

Now – as we all know , a bigger DB is much heavier on the memory , and a bigger wp_options table WILL result in more memory when processing it every time you run a query .
This gets worse with other “heavier” plugins that actually write new tables without cleaning them.

All this is on the theoretical level, and depends, like stated before, on the quality AND quantity of the plugins .

BTW – another thing that people ARE NOT usually aware of – is that also THEMES do the same . You can go to the options page stated above, and you will also see disabled themes in the same table . still there .
(search for theme_mods_themename)

BTW2 – same goes for the abuse of “custom fields” …

To answer your question – functions.php is better , if you know what you are doing .
Otherwise – it is a marginal difference for the average site.
I myself do everything on the functions.php.