[Python-ideas] INSANE FLOAT PERFORMANCE!!!
Elliot Gorokhovsky
elliot.gorokhovsky at gmail.com
Wed Oct 12 19:20:48 EDT 2016
On Wed, Oct 12, 2016 at 4:26 PM Terry Reedy <tjreedy at udel.edu> wrote:
> I suspect that optimizing string sorting
> will take some experimentation. If the initial item is str, it might be
> worthwhile to record the highest 'kind' during the type scan, so that
> strncmp can be used if all are ascii or latin-1.
>
My thoughts exactly.
One other optimization along these lines: the reason ints don't give quite
as shocking results as floats is that comparisons are a bit more expensive:
one first has to check that the int would fit in a c long before comparing;
if not, then a custom procedure has to be used. However, in practice ints
being sorted are almost always smaller in absolute value than 2**32 or
whatever. So I think, just as it might pay off to check for latin-1 and use
strcmp, it may also pay off to check for fits-in-a-C-long and use a custom
function for that case as well, since the performance would be precisely as
awesome as the float performance that started this thread: comparisons
would just be the cost of pointer dereference plus the cost of C long
comparison, i.e. the minimum possible cost.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161012/66e0f6cb/attachment.html>
More information about the Python-ideas
mailing list