Назад к вопросам
Junior — Middle
68
Какое время выполнения занимает вызов функции в Python?
Ответ от нейросети
sobes.tech AI
Вызов функции в Python занимает время, которое зависит от нескольких факторов: сложности самой функции, количества передаваемых аргументов, а также накладных расходов на сам вызов. В общем случае, вызов функции — это операция с постоянным временем (O(1)) по накладным расходам, но сама функция может выполнять произвольный код, что влияет на общее время.
Накладные расходы включают:
- Создание нового фрейма стека для функции
- Передачу аргументов
- Возврат значения
Для простых функций вызов может занимать несколько микросекунд, но точное время зависит от реализации интерпретатора и нагрузки системы.
Пример измерения времени вызова функции:
import timeit
def foo():
pass
print(timeit.timeit('foo()', globals=globals(), number=1000000))
Этот код измерит время миллиона вызовов пустой функции, показывая накладные расходы на вызов.