If you want to use timeit
in an interactive Python session, there are two convenient options:
-
Use the IPython shell. It features the convenient
%timeit
special function:In [1]: def f(x): ...: return x*x ...: In [2]: %timeit for x in range(100): f(x) 100000 loops, best of 3: 20.3 us per loop
-
In a standard Python interpreter, you can access functions and other names you defined earlier during the interactive session by importing them from
__main__
in the setup statement:>>> def f(x): ... return x * x ... >>> import timeit >>> timeit.repeat("for x in range(100): f(x)", "from __main__ import f", number=100000) [2.0640320777893066, 2.0876040458679199, 2.0520210266113281]