Найти - Пользователи
Полная версия: Почему 3.4 медленнее 2.7 в данном случае?
Начало » Python для новичков » Почему 3.4 медленнее 2.7 в данном случае?
1
yastreboff
Я начинающий. Изучаю, привыкаю.
Вопрос вот такой возник. Почему в данном примере Python 3.4 выполняется медленнее в два раза, нежели в версии 2.7 ?

import time
start = time.time()
def main():
    r = 0
    for i in range(0, 10000):
        for j in range(0, 10000):
            r = (r + (i * j) % 100) % 47
    print("answer: ", r)
main()
finish = time.time()
print (finish - start)

Результаты у меня такие:

3.4 - 22.98 секунды
2.7 - 11.23 секунды (если поменять на xrange) - 10.8 секунды

Может в 3-ей ветке правильнее по-другому делать?
bismigalis
могу только предположить, потому что в python2 целые числа могут быть int или long, в python3 все целые long
yastreboff
Да, вы оказались правы. Если для версии 2.7 обьявить переменную так:
r = long(0)
то, скрипт начинает выполнятся с таким же временем, как и в версии 3.4

Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB