>[оверквотинг удален]
>>>> 100000 loops, best of 3: 0.0419 usec per loop
>>>> $ python3 -m timeit -n 100000 -r 3 -s 'for i in
>>>> range(100): pow(i,2)'
>>>> 100000 loops, best of 3: 0.027 usec per loop
>>> Пожалуйста, приведите 4 результата:
>> Лень уже. Выше тесты видите - кто кого обогнал? Богомерзкий
>> ipython видите? Достаточно штатные средства?
> Да, достаточно. Вы накойхер (фамилие такое) ключик -s добавили перед тестами, превратив
> тем самым весь этот цикл вокруг pow() в setup action, и
> сделав *пустую* рабочую команду?Мда. Похоже на правду. Видимо, лишний ключик не убил (то, что для модулей значение одноименных ключиков меняется - порой вот такие засады делает).
$ python3 -m timeit -n 100000 -r 3 'for i in range(100): pow(i,2)'
100000 loops, best of 3: 86.1 usec per loop
$ python -m timeit -n 100000 -r 3 'for i in xrange(100): pow(i,2)'
100000 loops, best of 3: 34.1 usec per loop
А вот для бОльших целых (но все еще не bigint), похоже, ситуация обратная:
$ python -m timeit -n 100000 -r 3 'for i in xrange(10000000000000,10000000000000+100): pow(i,2)'
100000 loops, best of 3: 271 usec per loop
$ python3 -m timeit -n 100000 -r 3 'for i in range(10000000000000,10000000000000+100): pow(i,2)'
100000 loops, best of 3: 106 usec per loop
Возможно, память мне изменяет, но кажется что в py3 что-то делали в сторону оптимизации умножения для больших целых. Пока не удалось нагуглить на эту тему issues, что попали только в py3.