Python 性能测量
给定的问题可能有多种可行的算法来解决。因此,我们需要优化解决方案的性能。Python的 timeit 模块是一个用来测量Python应用性能的有用工具。
该模块中的timeit()函数可以测量Python代码的执行时间。
语法
参数
- stmt − 用于测试性能的代码段。
-
setup − 用于传递参数或变量的设置详情。
-
timer − 使用默认计时器,所以可以省略。
-
number − 代码将会被执行的次数。默认值为1000000。
示例
以下语句使用列表推导式返回每个范围内的数字乘以2的列表,范围为0到100。
要测量上述语句的执行时间,我们使用timeit()函数如下所示:
对比使用for循环附加数字的执行时间与这个过程。
结果表明列表推导更有效。
语句字符串可以包含一个Python函数,可以传递一个或多个参数作为设置代码。
我们将找到并比较使用循环的阶乘函数和递归版本的执行时间。
使用for循环的普通函数为 –
递归阶乘的定义。
测试这些函数以计算10的阶乘。
现在我们将使用timeit()函数找到它们各自的执行时间。
输出
递归函数比循环函数慢。
通过这种方式,我们可以对Python代码进行性能测量。