Why is a function/method call in Python expensive?
A function call requires that the current execution frame is suspended, and a new frame is created and pushed on the stack. This is relatively expensive, compared to many other operations. You can measure the exact time required with the timeit module: >>> import timeit >>> def f(): pass … >>> timeit.timeit(f) 0.15175890922546387 That’s 1/6th … Read more