You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-dev@quetz.apache.org by Graham Dumpleton <gr...@dscpl.com.au> on 2006/11/09 21:59:18 UTC

Re: mod_python 3.3.0-dev-20061109 available for testing (releasecandidate)

Jorey Bump wrote ..
> I've installed it on a lightly used production server so I can test it
> against some real-world apps. Initial testing indicates that it's 10-20%
> slower than 3.2.10; I'm not sure why.
> 
> Can I turn on the legacy importer with a runtime configuration, or do I
> need to recompile? I'd like to compare the two.

Expected it would be slower for a few reasons. I don't have a good system on
which to do any comparative tests, so was never sure how much performance hit
there would be. I did state though early on that the initial aim would be to
get it working properly and then we can look at the performance and tweak it so
as to regain as much as possible of what was lost.

The main culprit will be the new module importer. This is primarily going to be
due to it doing extra checks on whether module files or other modules they have
imported, have been modified. I would expect that this would be the bulk of any
performance loss especially since done in Python code.

There are two things you can do to gauge where any loss arises. First is to
ensure that module reloading is turned off and see how that changes things.

  PythonAutoReload Off

The second is to reenable the old module importer as a comparison. This needs
to be done at global scope within main Apache configuration:

  PythonOption mod_python.legacy.importer *

The argument is actually a comma separated list of interpreter names for which
to use the old importer. Listing just '*' has the effect of using the old importer
for all interpreter instances.

Graham


Re: mod_python 3.3.0-dev-20061109 available for testing (releasecandidate)

Posted by Jim Gallacher <jp...@jgassociates.ca>.
Graham Dumpleton wrote:
> Jorey Bump wrote ..
>> I've installed it on a lightly used production server so I can test it
>> against some real-world apps. Initial testing indicates that it's 10-20%
>> slower than 3.2.10; I'm not sure why.
>>
>> Can I turn on the legacy importer with a runtime configuration, or do I
>> need to recompile? I'd like to compare the two.
> 
> Expected it would be slower for a few reasons. I don't have a good system on
> which to do any comparative tests, so was never sure how much performance hit
> there would be. I did state though early on that the initial aim would be to
> get it working properly and then we can look at the performance and tweak it so
> as to regain as much as possible of what was lost.

And there was no argument there. Make it work right, then make it work 
fast. :)

At some point we should create some sort of a performance tuning page. I 
was thinking of this the other day wrt the number of mutex locks, but at 
this point we haven't done any benchmarking so the advice is... more is 
better... probably. :)

Jim


Re: mod_python 3.3.0-dev-20061109 available for testing (releasecandidate)

Posted by Jorey Bump <li...@joreybump.com>.
Graham Dumpleton wrote:

> There are two things you can do to gauge where any loss arises. First is to
> ensure that module reloading is turned off and see how that changes things.
> 
>   PythonAutoReload Off
> 
> The second is to reenable the old module importer as a comparison. This needs
> to be done at global scope within main Apache configuration:
> 
>   PythonOption mod_python.legacy.importer *
> 
> The argument is actually a comma separated list of interpreter names for which
> to use the old importer. Listing just '*' has the effect of using the old importer
> for all interpreter instances.

I'm getting the same results with either or both options, so it may be a 
simple system glitch or a performance hit elsewhere.