Josh Rosenberg added the comment:

And now that I'm thinking about it, the probable cause of the slowdown is that, 
for any PyLongObject that's smaller than PAGESIZE (give or take), using Calloc 
means calloc is just calling memset to zero the PyLongObject header and the 
"used" part of the high order bits along with everything else, where the 
original Malloc code avoided performing two passes over the memory, 
initializing each byte in order, and writing each one exactly once. The Calloc 
approach uses two passes, and the second one isn't wholly sequential, so it may 
be getting bit by the CPU cache not keeping up.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21419>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to