%timeit is an IPython magic function, which can be used to time a particular piece of code (a single execution statement, or a single method).
From the documentation:
%timeit
Time execution of a Python statement or expression
Usage, in line mode:
%timeit [-n<N> -r<R> [-t|-c] -q -p<P> -o] statement
To use it, for example if we want to find out whether using xrange is any faster than using range, you can simply do:
In [1]: %timeit for _ in range(1000): True
10000 loops, best of 3: 37.8 µs per loop
In [2]: %timeit for _ in xrange(1000): True
10000 loops, best of 3: 29.6 µs per loop
And you will get the timings for them.
The major advantage of %timeit are:
-
that you don’t have to import
timeit.timeitfrom the standard library, and run the code multiple times to figure out which is the better approach. -
%timeit will automatically calculate number of runs required for your code based on a total of 2 seconds execution window.
-
You can also make use of current console variables without passing the whole code snippet as in case of
timeit.timeitto built the variable that is built in another environment that timeit works.