Sobes.tech
Junior — Middle

Mennyi időt vesz igénybe egy függvény hívása Pythonban?

sobes.tech MI

Válasz az MI-től

A Pythonban egy függvény hívása több tényezőtől függően időt vesz igénybe: a függvény saját összetettségétől, az átadott argumentumok számától, valamint a hívás általános költségeitől. Általánosságban elmondható, hogy a függvényhívás egy állandó időtartamú (O(1)) művelet a költségek szempontjából, de maga a függvény tetszőleges kódot hajthat végre, ami befolyásolja az összidőt.

A költségek magukban foglalják:

  • Egy új veremkeret létrehozását a függvényhez
  • Argumentumok átadását
  • Az érték visszaadását

Egyszerű függvények esetén a hívás néhány mikrosekundumot vehet igénybe, de a pontos idő a értelmező implementációjától és a rendszer terhelésétől függ.

Példa a függvényhívási idő mérésére:

import timeit

def foo():
    pass

print(timeit.timeit('foo()', globals=globals(), number=1000000))

Ez a kód megméri egymillió üres függvényhívás idejét, és megmutatja a hívás általános költségeit.