如何直接访问timeit magic功能

时间:2016-07-10 15:40:22

标签: python ipython

我希望以更大的比例运行计时,并输出iPython %timeit魔术函数的结果数据帧。我不想重写它。我该如何直接访问?

我喜欢这样的事情:

f = lambda x: (x * 4. + 2) ** .5

for i in xrange(3):
    print timeit(f(i))

我得到一些输出:

100 loops: 1 s
10 loops: 10 s
10 loops: 3e9 ns

或类似。

1 个答案:

答案 0 :(得分:5)

您可以导入timeit模块并手动指定迭代次数:

from timeit import timeit

f = lambda x: (x * 4. + 2) ** .5

for i in xrange(3):
    num = 100
    print  '%s: %s'%(num, timeit('f(i)', number=num))

您可以使用repeat代替将计时器置于循环中