Почему код Python выполняется быстрее в функции?
Я столкнулся с интересной проблемой в Python, связанной с производительностью. У меня есть следующий код:
def main():
for i in xrange(10**8):
pass
main()
Этот фрагмент кода выполняется за:
real 0m1.841s
user 0m1.828s
sys 0m0.012s
Однако, когда я убираю цикл for
из функции и запускаю его напрямую:
for i in xrange(10**8):
pass
Время выполнения значительно увеличивается:
real 0m4.543s
user 0m4.524s
sys 0m0.012s
Почему так происходит? В чем разница между выполнением цикла в функции и вне ее?
Почему чтение строк из stdin в C++ гораздо медленнее, чем в Python?
Самый быстрый способ проверить наличие значения в списке
Получить различия между двумя списками с уникальными элементами
Удаление строки DataFrame в Pandas на основе значения столбца
Перемешать строки DataFrame