If this is running via CGI, and not in the mod_perl environment,
i would certainly have a series of concerns. Not neccesseray
so much memory usage, but mostly load time, especially the
population of these 100 or so accesible variables. While that
is not a GREAT deal of memory, I have been programming for a
long time, and I have never encountered a situation with requirements
for that type of environment, especially in one monolithic
3000 line module.
My suggestion to you is:
- Take a step back, think to yourself, what does this module actually do?
- Think to yourself, am I doing a proper job of abstracting data from logic?
- Ask: does all of this data need to be loaded at all times?
Or is this the type of thing where I can make 3 or 4 dbm's and tie them
at run time, so as to not have to repopulate them all the time?
- Do I have so much data, and I foresee this growing and needing more computation, that it really should be in a relational model of some sort?
- Does this really need to be 1 3000 line module? or should this be 1 50 line module and a series of modules that inherit the interface and special case?
I think once you've answered those questions, you will know if
you have made the right decisions. Realistically, 100 object variables
ain't gonna kill you... however that may be the symptoms of a
improper design. Make sure you attack the cause, and not the symptoms!
Good luck! and keep asking away...