
本文共 1124 字,大约阅读时间需要 3 分钟。
1. timeit的用法
python3中的timeit模块可以用来测试小段代码的运行时间,其中有两个函数:timeit和repeat,
格式:
def timeit(stmt="pass", setup="pass", timer=defalt_timer, number=default_number, globals=None);
"""Convenience function to create Timer object and call timeit method."""
return Timer(stmt, setup, timer, globals).timeit(number)
def repeat(stmt="pass", setup="pass", timer=default_timer, repeat=default_repeat, number=default_number, globals=None):
"""Convenience function to create Timer object and call repeat method."""
return Timer(stmt, setup, timer, globals).repeat(repeat, number)
在上面的代码中可见,无论是timeit还是repeat都是先生成Timer对象,然后调用了Timer对象的timeit或者repeat函数。
即使用timeit模块时,可以直接使用timeit.timeit()、timeit.repeat(),还可以先用timeit.Timer()来生成一个Timer对象,然后再用Timer对象调用timeit()和repeat()函数。
参数释义:
stmt: 用于传入要测试时间的代码,可以直接接受字符串的表达式,也可以接受单个变量,也可以接受函数。传入函数时要把函数声明在当前文件中,然后在
stmt='func()'执行函数,然后使用setup=‘from __main__ imprt func’
setup:传入stmt的运行环境,比如stmt中使用到的参数、变量,要导入的模块等。可以写一行语句,也可以写多行语句,写多行语句时要用分号;隔开语句。
number:要测试的代码的运行次数,默认100000次,对于耗时的代码,运行太多次会比较慢
repeat:指测试要重复几次,每次的结果构成列表返回,默认3次。
代码示例:
way1: 直接使用timeit.timeit()、timeit.repeat():
way2: 先生成Timer,再调用timeit()、repeat():
发表评论
最新留言
关于作者
