在iPython中,%timeit
魔术函数通过其启发式方法可以很好地确定在对语句进行计时时要执行的合理迭代次数。 timeit
文档建议只能从命令行自动确定循环次数。
情况确实如此吗?或者是否有一种解决方法(或普遍接受/常见的黑客)在代码中实现“魔术”行为?
我想要达到的目标是:
timer_results = [cool_timeit_function(stm) for stm in statement_list]
其中cool_timeit_function
将自动决定是运行1个循环,还是10个或100个等。
我想在你执行一次给定语句的时候编写一些东西并不会太难,如果这种情况发生的速度非常快,你就会做到10次,如果这种情况发生的速度非常快,你就会做到100次,等等......直到执行完成,比如说,> 0.1秒然后你可以做一个10倍重复次数的正确重复定时(这样最终的定时运行时间在1到10秒之间)或类似的东西。您甚至可以指定您希望最终计时运行需要多长时间以及您应该采取多少套件来获取“结果”结果。
但我不能成为第一个想要这个的人。任何人都可以指出现有的解决方案吗?