Thanks for all your help and patience. I think I know what set of things has been going on, and now know where the time is going.
All of you will, I'm sure, be shocked, just shocked, to learn that inadequately controlled benchmarking is the cause of my confusion. I was using files in a couple of different directories to test against, and the YAML configuration file in one of the directories is 5k bytes, and in the other is 35k bytes. I happen to have switched between them in just the right pattern to make CGI and mod_perl versions perform about the same overall.
Some Time::HiRes based internal profiling is what finally allowed me to nail it down. I will, however, point out that I'd done some of that for my initial message, the previous thread where I first asked about this. (Sorry, I'm getting a bit overloaded on suggestions to do things I've already said I've done. But doing some *more* of it did resolve the problem, so maybe I shouldn't complain about that particular case anyway!)
There's no longer a mystery about where the time goes. However, now that I really understand what's going on, the total amount of time taken is still pretty unsatisfactory. Which leads to my next thread, Big config file reading, or cross-process caching mechanism
In reply to Re: Re: CGI to Apache::Registry, or to mod_perl
by dd-b
in thread CGI to Apache::Registry, or to mod_perl
by dd-b
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |