From: <an...@io...> - 2005-06-19 15:02:04
|
After a good night sleep I came to the conclusion that maybe providing a way not to preload everything is not very urgent and it might be good to delay it for a 2.x release. But to give you some idea of what kind of benefits you might get from not preloading everything, I did some poking around with a stick on Dicole. By default the main apache thread takes up 61 Mb on startup. Leaving languages (2 full and one paritial) uninitialized frees ~1 Mb. Leaving SPOPS objects uninitialized frees ~3 Mb. Leaving Actions uninitialized frees ~27 Mb. If all of these are left uninitialized, the main apache thread takes up 28,5 Mb. If the whole Context is left uninitialized, the main thread takes up 23,5 Mb, so only about 5 Mb of Context is not in these three parts. I also noticed that building the Setup hierarchy does a require on all of the Setup classes and this, with their dependencies, seems to use something like 6 Mb of space - much of which might be possible to avoid and which is probably not used after startup. I'm not really sure if OI2 will ever be really usable with CGI though. Even if the required initialization could be dropped somewhere close to 25 Mb, after leaving the 7 mb of mod_perl apache, it still leaves 18 Mb of modules to be initialized on each request. But it would still be nice to have a bit smaller apache threads when having multiple OI2 installations on the same machine and use CGI when developing, so that one would not have to restart apache after each change. - Antti |