使用 timeit 为函数的单次执行计时
Time a single execution of a function using timeit
打印函数被调用了很多times.I想计算函数的time.I写代码,
import timeit
class UserClass:
def callname(self):
print("HiTom")
if __name__ == '__main__':
def test():
user = UserClass()
user.callname()
test()
mtime = timeit.timeit(lambda: test())
print(mtime)
当我运行代码时,"Hi Tom"被调用了很多次。
我真的无法理解为什么会发生这样的事情。
我重写了
mtime = timeit.timeit(test(), number=1)
但是 ValueError: stmt is neither a string nor callable error happens.How 我可以构建我理想的系统吗?我的代码有什么问题?
你必须
- 将字符串传递给
stmt
字段,并且
- 传递
globals
字典以便 timeit
找出 test
函数的来源
>>> timeit.timeit("test()", number=1, globals=globals())
HiTom
3.45029984600842e-05
打印函数被调用了很多times.I想计算函数的time.I写代码,
import timeit
class UserClass:
def callname(self):
print("HiTom")
if __name__ == '__main__':
def test():
user = UserClass()
user.callname()
test()
mtime = timeit.timeit(lambda: test())
print(mtime)
当我运行代码时,"Hi Tom"被调用了很多次。 我真的无法理解为什么会发生这样的事情。
我重写了
mtime = timeit.timeit(test(), number=1)
但是 ValueError: stmt is neither a string nor callable error happens.How 我可以构建我理想的系统吗?我的代码有什么问题?
你必须
- 将字符串传递给
stmt
字段,并且 - 传递
globals
字典以便timeit
找出test
函数的来源
>>> timeit.timeit("test()", number=1, globals=globals())
HiTom
3.45029984600842e-05