如何在Python中测量算法的运行时间

发布于 2021-01-29 15:09:48

这个问题已经在这里有了答案

10年前关闭。

可能的重复:
python中函数的准确计时

准确地测量python函数所需的时间

我如何确定和比较用python编写的算法的运行时间。如果可以的话,还应指向一个不错的算法站点/论坛,例如stackoverflow。

关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我不是100%知道“用python编写的算法的运行时间”是什么意思,所以我认为我可能会尝试更广泛地研究一些潜在的答案。

    • 算法没有运行时间 ; 实现可以是定时的,但是算法是做某事的抽象方法。优化程序的最常见也是最有价值的部分是分析算法,通常使用渐近分析并计算时间,空间,磁盘使用等方面的大O复杂性。

    计算机实际上无法为您执行此步骤。这需要进行数学运算以弄清楚某些事物是如何工作的。优化这一方面是具有可扩展性能的主要组成部分。

    • 您可以安排自己的具体实施时间。 在Python中执行此操作的最好方法是使用timeit。似乎最想使用的方法是使用一个封装了要调用的函数的模块来制作模块,并使用来从命令行对其进行调用python -m timeit ...

    在进行微优化时,使用timeit来比较多个代码段,但这通常不是您想要比较两种不同算法的正确工具。通常,您需要的是渐近分析,但是您可能需要更复杂的分析类型。

    • 你必须知道几点大多数代码片段都不值得改进。 您需要对它们真正起作用的地方进行更改, 特别 是在进行微优化并且不提高算法的渐近复杂性时。

    如果将代码花费1%的时间的功能速度提高三倍,那并不是真正的加速。如果您在程序花费50%的时间的功能上提高20%的速度,那么您将获得真正的收获。

    要确定实际Python程序所花费的时间,请使用stdlib分析工具。这将告诉您示例程序在代码上花费的时间。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看