I'm trying to capture the resulting object of IPython Notebook magic function. Specifically %timeit
So the following code...
import time
def say_hello(n):
time.sleep(n)
print "hello"
t = %timeit say_hello(5)
Prints to stdout:
1 loops, best of 3: 5 s per loop
However, I'd like to capture the result of %timeit say_hello(5)
in the variable t
.
A resulting object called TimeitResult
is generated by %timeit
, but I can't figure out how to access it from within a Notebook.
I'd like a cleaner solution than having to manually capture stdout using sys.stdout
tricks (this code will be part of a presentation so I'm trying to keep it as straight forward as possible). Anyone have any ideas?
In the source file you linked to, the docstring shows the options for running the timeit magic function; one of which is returning an object result:
-o: return a TimeitResult that can be stored in a variable to inspect
the result in more details.
So, if you run
obj = %timeit -o somefunc()
obj
will reference the result object that was returned (hint: use tab completion on the object, that will show you the attributes it has).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With