写代码的时候,我们可能想知道python的执行效率如何,有如下几种方法可以计算python程序执行时间。

1、方法1

import datetime

starttime = datetime.datetime.now()

#long running

endtime = datetime.datetime.now()

print (endtime - starttime).seconds

 

2、方法 2

start = time.time()

run_fun()

end = time.time()

print end-start

 

3、方法3

start = time.clock()

run_fun()

end = time.clock()

print end-start

方法1和方法2都包含了其他程序使用CPU的时间,是程序开始到程序结束的运行时间。

方法3算只计算了程序运行的CPU时间

 

4、方法4

import cProfile

import pstats

...

def test_func():

    ...

...

if __name__=='__main__':

    cProfile.run("test_func()", filename="runtime_test.out", sort="cumulative")  # test_func是指要测试的函数,性能测试结果保存到runtime_test.out文件

    p = pstats.Stats("runtime_test.out")

    p.strip_dirs().sort_stats("cumulative", "name").print_stats(10)  # 在屏幕打印性能测试结果

cProfile和pstats都是python自带的模块,上面这种性能测试方法会将运行过的每个函数的单词执行时间、总执行次数、总耗时都统计出来,可以很方便地分析性能瓶颈在哪里。

作者:duqi