[Python-Dev] Adding pymalloc to the core (Benchmarking "fun" (was Re: Python 2.1 slower than 2.0))

M.-A. Lemburg mal@lemburg.com
Fri, 02 Feb 2001 11:00:28 +0100


Jeremy Hylton wrote:
> 
> >>>>> "MAL" == M -A Lemburg <mal@lemburg.com> writes:
> 
>   MAL> Tim Peters wrote:
>   >>
>   >> [Michael Hudson]
>   >> > ...  Can anyone try this on Windows?  Seeing as windows malloc
>   >> > reputedly sucks, maybe the differences would be bigger.
>   >>
>   >> No time now (pymalloc is a non-starter for 2.1).  Was tried in
>   >> the past on Windows.  Helped significantly.  Unclear how much was
>   >> simply due to exploiting the global interpreter lock, though.
>   >> "Windows" is also a multiheaded beast (e.g., NT has very
>   >> different memory performance characteristics than 95).
> 
>   MAL> We're still in alpha, no ?
> 
> The last planned alpha is going to be released tonight or early
> tomorrow. I'm reluctant to add a large patch that I'm unfamiliar with
> in the last 24 hours before the release.
> 
>   MAL> Or do we have a 2.1 feature freeze already ?
> 
> We aren't adding any major new features that haven't been PEPed.  I'd
> like to see a PEP on this subject.

I don't see a PEP for your import patch either ;-) Seriously,
I am viewing the addition of pymalloc during the alpha phase
or even the betas as test for the usability of such an approach.
If it fails, fine, then we take it out again. If nobody notices,
great, then leave it in.

There would be a need for a PEP if we need to discuss APIs,
interfaces, etc. but all this has already been done by Valdimir
a long time ago. He put much effort into getting the Python
malloc macros to work in the intended way so that pymalloc only
has exchange these macro definitions.

I don't understand why we cannot take the risk of trying this
out in an alpha version. Besides, Vladimir's malloc patch
is opt-in: you have to compile Python using --with-pymalloc
to enable it, so it doesn't really harm anyone not knowing what
he/she is doing.

-- 
Marc-Andre Lemburg
______________________________________________________________________
Company:                                        http://www.egenix.com/
Consulting:                                    http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/