Какое влияние оказывает функция на скорость выполнения? - PullRequest
0 голосов
/ 12 сентября 2018

Совершенно новый для python и работающий над приложением, где скорость критична - по сути, в гонке за бронированием онлайн, как можно ближе к 7 утра.Пытался понять влияние на скорость выполнения, которое имеет вызов функции, поэтому я разработал очень простой тест: считайте до 1 000 000 и начинайте и заканчивайте время, используя как строку, так и вызываемую функцию.Однако полученный результат говорит о том, что функция занимает около 56% времени, которое занимает встроенный код.Должно быть, я действительно что-то упускаю.Может ли кто-нибудь объяснить это, пожалуйста.

Код:

import time
def timeit():
    temp = 0
    while temp < 10000000:
        temp += 1
    return
time1 = time.time()
temp = 0
while temp < 10000000:
    temp += 1
time2 = time.time()
timeit()
time3 = time.time()
temp = 0
while temp < 10000000:
    temp += 1
time4 = time.time()
timeit()
time5 = time.time()
print("direct took       " + "{:.16f}".format(time2 - time1)     + " seconds")
print("indirect took     " + "{:.16f}".format(time3 - time2)     + " seconds")
print("2nd direct took   " + "{:.16f}".format(time4 - time3)     + " seconds")
print("2nd indirect took " + "{:.16f}".format(time5 - time4)     + " seconds")

результаты:

прямой занял 1,6094279289245605 секунд

косвенный занял 0,9220039844512939 секунд

2-е прямое заняло 1.5781939029693604 секунды

2-е прямое заняло 0.9375154972076416 секунд

Я прошу прощения за то, что пропустил что-то глупое, что я должен был сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...