You can split the module into several modules (which will, of course, have to be enabled). In your example, the block code could be in a separate module (see http://drupal.org/project/weblinks). However, any opcode caching that you use is going to keep more execution-ready code in memory than you might think. My last customer used e-Accelerator with a 32 MB cache size and this was a tremendous boost to performance, but with smaller memory (VPS, shared) installations, may not be the best idea.
 
@jcisio: To be more precise, the hooks must be in your .module namespace. I found this by accident when I started playing with sub-modules. For example, create a xyz.module, then create xyz_sub.module with xyz_block(); you will find that the blocks are available as though they were in xyz.module.
 

Nancy

 

Injustice anywhere is a threat to justice everywhere. -- Dr. Martin L. King, Jr.




From: jcisio

It depends on which Drupal you are using, D6 or D7. Read the
documentation about D7, where you can split your .module into multiple
files.

In D6, in general, all hook implementations must be presented in your
.module file. However, except your module is too big, this micro
optimization has only negligeable profit.