如何在Python中测量算法的运行时间
我如何才能确保并比较我用python编写的算法的运行时间。如果可以的话,还可以指向一个不错的算法站点/论坛
回答:
我不是100%知道“用python编写的算法的运行时间”是什么意思,所以我认为我可能会尝试更广泛地研究一些潜在的答案。
- ; 实现可以是定时的,但是算法是做某事的抽象方法。优化程序的最常见也是最有价值的部分是分析算法,通常使用渐近分析并计算时间,空间,磁盘使用等方面的大O复杂性。
计算机实际上无法为您执行此步骤。这需要进行数学运算以弄清楚某些事物是如何工作的。优化这方面是具有可扩展性能的主要组成部分。
- 在Python中执行此操作的最好方法是使用timeit。似乎最想使用的方式是用一个封装了要调用的函数的模块制作模块,并使用来从命令行调用它
python -m timeit ...
。
在进行微优化时,使用timeit来比较多个代码段,但这通常不是您想要比较两种不同算法的正确工具。通常,您需要的是渐近分析,但是您可能需要更复杂的分析类型。
- 。 大多数代码片段都不值得改进。 您需要对它们真正起作用的地方进行更改, 尤其 是在进行微优化并且不提高算法的渐近复杂性时。
如果将代码花费1%的时间的功能速度提高三倍,那不是真正的加速。如果您在程序花费50%的时间的功能上提高20%的速度,那么您将获得真正的收获。
要确定实际Python程序所花费的时间,请使用stdlib分析工具。这将告诉您示例程序在代码上花费的时间。
以上是 如何在Python中测量算法的运行时间 的全部内容, 来源链接: utcz.com/qa/414567.html