From: <And...@Be...> - 2001-12-28 21:20:31
|
Hi Chris, still one of my favorite tasks with OI is finding out, how to tune it. Since I had no luck with Devel::DProf, I used Time::HiRes now and dug down into the code. Here some observations: - OpenInteract::Request::lookup_action gets called twice: once in OpenInteract::find_action_handler and once from OpenInteract::run_content_handler - how about caching this in $R ? - how about caching the results of lookup_action ? - when a user comes in with an existing session, I found, that all calls are done like when he first comes in. Why not cache things like groups, theme, etc inside the session ? - I question the file based template caching stuff: I tried a simple process global hash based lookup inside OpenInteract::Template::Provider::fetch and it speeded this part up about factor 100 ! - if I got the startup code right, at least OpenInteract::Startup->read_base_config is called twice: once at server startup, once at child init. This has nothing process specific in it, right? I think the static/global and dynamic/process parts need to be separated more obvious. The latest with apache 2.0 we will have threads to deal with in adition.. For now, the more work can be done at server startup, the better, I think, since this will just be copied over on fork(). This also holds for modules. Why don`t we pull in many more modules here? - totally different topic maybe: looking at the new base_page stuff - why not make actions just entries here? Wouldn`t it be nice to have this in one place? As I told you earlier, we think about tweaking some sort of dynamic handler into this already, but: actually I think this is totally unnecessary so far so good for now - hope this makes any sense ;-) later, Andreas |