Although with the Precompiled build target, coming with Orchard 1.6, modules can be precompiled into dlls, it's still good practice to disable every feature you don't need in production even if the performance penalty is small. Here's a small list of common modules you should watch out for.
Modules you should enable only in a production environment (apart from testing):
- Keep Alive
- Lucene (otherwise it will create a bunch of index files and records) or other indexing services (even Indexing itself)
- Any analytics
Modules you should always disable in production:
- Packaging (also disables e.g. Gallery as you don't want to manage module packages in prod apart from enabling/disabling)
- Code Generation
- Shape Tracing (what is adviced to only be enabled for specific tasks when doing development anyway), actually Orchard.DesignerTools
For switching between a production and development profile of module sets try out the Module Profiles module, developed by Benedek Farkas.