一、使用time模块测量程序运行时间
Python中的time模块提供了一些函数,可以用来测量程序的运行时间。其中主要有time.time()函数和time.clock()函数。
import time start_time = time.time() # 记录程序开始时间 # 将需要测量时间的代码放在这里 for i in range(10000000): pass end_time = time.time() # 记录程序结束时间 print("程序运行时间为", end_time - start_time, "秒")
使用time模块的time()函数和相应的数学计算,我们可以计算出程序的运行时间。
二、使用datetime模块测量程序运行时间
Python中的datetime模块也可以用来测量程序的运行时间。通过获取程序开始时间和结束时间的datetime.datetime.now()函数,可以计算出程序的运行时间。
import datetime start_time = datetime.datetime.now() # 记录程序开始时间 # 将需要测量时间的代码放在这里 for i in range(10000000): pass end_time = datetime.datetime.now() # 记录程序结束时间 print("程序运行时间为", end_time - start_time)
datetime模块的使用方法与time模块类似,不过datetime可以提供更加精细的时间计算,比如可以计算出程序运行的微秒数。
三、使用profile和pstats模块测量程序运行时间
Python还提供了profile和pstats模块,可以用来分析程序的内存占用和时间性能。
import profile def foo(): for i in range(10000000): pass profile.run("foo()")
上面的代码中,我们使用profile.run()函数来运行需要性能分析的代码,并输出结果。这种方法适合于代码运行时间较短的情况下使用。
如果代码运行时间较长,我们可以使用pstats模块来对结果进行分析和统计。
import pstats p = pstats.Stats("foo.prof") p.strip_dirs().sort_stats(-1).print_stats()
上面的代码将读取用profile.run()函数生成的统计文件,通过p.strip_dirs().sort_stats(-1).print_stats()来输出结果。其中strip_dirs()函数用来去掉文件夹路径,sort_stats(-1)函数用来按照运行时间从长到短排序。
四、使用cProfile模块测量程序运行时间
Python还提供了cProfile模块,可以用来分析代码的运行性能。
import cProfile def foo(): for i in range(10000000): pass cProfile.run("foo()")
上面的代码中,我们使用cProfile.run()函数来运行需要分析的代码,并输出结果。cProfile模块与profile模块类似,不过cProfile是使用C语言实现的,速度更快。