I always read the code to calculate the time like this way:
Can you explain what means "%" here?
I think, the "%" is always used to replace something in a string, like %s means replace a string, %d replace a data, but I have no idea about this case.
This question is tagged with
~ Asked on 2015-03-26 14:02:28
%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 docs:
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 : %timeit for _ in range(1000): True 10000 loops, best of 3: 37.8 µs per loop In : %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
that you don't have to import
timeit.timeit from 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.timeit to built the variable that is built in an another environment that timeit works.
~ Answered on 2015-03-26 14:07:53
This is known as a line magic in iPython. They are unique in that their arguments only extend to the end of the current line, and magics themselves are really structured for command line development.
timeit is used to time the execution of code.
If you wanted to see all of the magics you can use, you could simply type:
to get a list of both line magics and cell magics.
Some further magic information from documentation here:
IPython has a system of commands we call magics that provide effectively a mini command language that is orthogonal to the syntax of Python and is extensible by the user with new commands. Magics are meant to be typed interactively, so they use command-line conventions, such as using whitespace for separating arguments, dashes for options and other conventions typical of a command-line environment.
Depending on whether you are in line or cell mode, there are two different ways to use
%timeit. Your question illustrates the first way:
In : %timeit range(100)
In : %%timeit : x = range(100) :
~ Answered on 2015-03-26 14:07:33