Can you capture the output of ipython's magic methods? (timeit)

前端 未结 2 1126
既然无缘
既然无缘 2020-12-14 07:09

I want to capture and plot the results from 5 or so timeit calls with logarithmically increasing sizes of N to show how methodX() scales w

相关标签:
2条回答
  • 2020-12-14 07:52

    This duplicate question Capture the result of an IPython magic function has an answer demonstrating that this has since been implemented.

    Calling the %timeit magic with the -o option like:

    %timeit -o <statement>
    

    returns a TimeitResult object which is a simple object with all information about the %timeit run as attributes. For example:

    In [1]: result = %timeit -o 1 + 2
    Out[1]: 10000000 loops, best of 3: 23.2 ns per loop
    
    In [2]: result.best
    Out[2]: 2.3192405700683594e-08
    
    0 讨论(0)
  • 2020-12-14 07:58

    PS: this is in an ipython notebook if that makes a diff.

    No it does not.

    On dev there is te %%capture cell magic. The other way would be to modify the timeit magic to return value instead of printing, or use the timeit module itself. Patches welcomed.

    0 讨论(0)
提交回复
热议问题