I'd like to know if there is any difference between disable or uninstall modules regarding performance.
Will having 10 disabled modules affect my site performance? Will the performance be better if I uninstall them?
Drupal Answers is a question and answer site for Drupal developers and administrators. It only takes a minute to sign up.Sign up to join this community
Disabled modules do not get executed so they should not affect performance but they may have variables and database tables that still exist. If you are not planning on using those modules again it is highly recommended to use the uninstall process at admin/build/modules/uninstall in D6 or admin/modules/uninstall in D7.
There is a difference between disabled modules and uninstalled modules; you could disable a module when you don't temporary use it, but you uninstall a module that you don't plan anymore to use.
For example, you can disable the Views UI module that comes with the Views module because you have already created the views you need, or you don't want that other users with the privilege of editing views are able to edit them.
About the performance, that has been already replied in Do non-enabled modules affect performance?
unistall modules is necessary when modules are using database/system operations and information that need be removed. A module without an uninstaller may leave tables or fields in your database. I think that, acording each module, the effect can give more performance or none, or problems. One example, some modules add colums to tables, like nodes tables, so I guess that if you do not remove these columns, then the node table will have innecessary information that will be parsed, so this represent innecessary consumption of resources.
here http://drupal.org/node/250783 you will find a 'howto' about how unistall modules, but you will find (a little) information about advantages of unistall operation.
this is one example of a module that add a column to the node table, drupal.org/project/quickstats so I guess that if you do not unistall the module, this will represent innecessary consumption (maybe minimal?) of resources to other modules (and/or to the system) when pull node information.