如何在Python中测量算法的运行时间
这个问题已经在这里有了答案 :
10年前关闭。
可能的重复:
python中函数的准确计时
我如何确定和比较用python编写的算法的运行时间。如果可以的话,还应指向一个不错的算法站点/论坛,例如stackoverflow。
-
我不是100%知道“用python编写的算法的运行时间”是什么意思,所以我认为我可能会尝试更广泛地研究一些潜在的答案。
计算机实际上无法为您执行此步骤。这需要进行数学运算以弄清楚某些事物是如何工作的。优化这一方面是具有可扩展性能的主要组成部分。
- 您可以安排自己的具体实施时间。 在Python中执行此操作的最好方法是使用timeit。似乎最想使用的方法是使用一个封装了要调用的函数的模块来制作模块,并使用来从命令行对其进行调用
python -m timeit ...
。
在进行微优化时,使用timeit来比较多个代码段,但这通常不是您想要比较两种不同算法的正确工具。通常,您需要的是渐近分析,但是您可能需要更复杂的分析类型。
- 你必须知道几点 。 大多数代码片段都不值得改进。 您需要对它们真正起作用的地方进行更改, 特别 是在进行微优化并且不提高算法的渐近复杂性时。
如果将代码花费1%的时间的功能速度提高三倍,那并不是真正的加速。如果您在程序花费50%的时间的功能上提高20%的速度,那么您将获得真正的收获。
要确定实际Python程序所花费的时间,请使用stdlib分析工具。这将告诉您示例程序在代码上花费的时间。
- 您可以安排自己的具体实施时间。 在Python中执行此操作的最好方法是使用timeit。似乎最想使用的方法是使用一个封装了要调用的函数的模块来制作模块,并使用来从命令行对其进行调用