"Stefan Behnel" <stefan...@behnel.de> wrote in message news:mailman.485.1283772019.29448.python-l...@python.org...
BartC, 06.09.2010 12:38:

(2) Integer arithmetic seems to go straight from 32-bits to long
integers; why not use 64-bits before needing long integers?

You are making assumptions based on Python 2, I guess. Try Python 3.1 or later instead, where the int and long types are unified. Also, the implementation is a bit more complex than you appear to be thinking. Don't forget that it has received serious benchmarking based optimisations.

That's true; wider arithmetic was less of an overhead in Python 3.

This shows the effect of making several small optimisations which might otherwise be dismissed: with the +100 test, the Python 3 faster wider arithmetic, *plus* the 4x loop unrolling, resulted in an 85% speed increase compared with Python 2 using the original loop. Which is pretty good considering Python 3 is generally slower than '2'.

This can be very fast, since
the loop counter need not be a Python object

It still has to count, though.

That might be just a couple of machine instructions. Plus the bytecode overhead.

--
Bartc
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to