[Python-3000] Python, int/long and GMP

Victor Stinner victor.stinner at haypocalc.com
Fri Sep 28 18:58:29 CEST 2007


On Friday 28 September 2007 18:44:43 you wrote:
> > GMP doesn't have a concept of a non-complex structure. It always
> > allocates memory. (...)

I don't know GMP internals. I thaught that GMP uses an hack for small 
integers.

> > Also, removing python's caching of integers < 100 as you did in this
> > patch is surely a *huge* killer of performance.

Oh yes, I removed the cache because I would like to quickly get a working 
Python version. It took me two weeks to write the patch. It's not easy to get 
into CPython source code! And integer is one of the most important type!

> I can vouch for that.  Allocation can easily dominate performance.  It
> invalidates the rest of the benchmark.

I may also use Python garbage collector for GMP memory allocations since GMP 
allows to use my own memory allocating functions.

GMP also has its own reference counter mechanism :-/

Victor
-- 
Victor Stinner aka haypo
http://www.haypocalc.com/blog/


More information about the Python-3000 mailing list