文章内容

2020/12/24 11:16:06,作 者: 黄兵

Python 统计函数运行时间

最近需要比较不同函数对于同一个问题解决所用的时间差异,于是统计了一下程序运行时间,具体如下:

def query_many(self, ip_list):
start = time.time()
with futures.ThreadPoolExecutor(self._max_workers) as executor:
to_do = []
for item in ip_list:
future = executor.submit(self.get_host, str(item))
to_do.append(future)

results = []
for future in futures.as_completed(to_do):
res = future.result()
results.append(res)
end = time.time()
print('程序执行时间: ', end - start)
return len(results)

这里开始时间减去结束时间,就可以算出这个函数的运行时间。

当然也可以使用装饰器的方式来统计函数运行时间,下面是示例代码:

def GetRunTime(func):
def call_func(*args, **kwargs):
begin_time = time.time()
ret = func(*args, **kwargs)
end_time = time.time()
Run_time = end_time - begin_time
print(str(func.__name__) + "函数运行时间为" + str(Run_time))
return ret

return call_func

@GetRunTime
def query_many(self, ip_list):
with futures.ThreadPoolExecutor(self._max_workers) as executor:
to_do = []
for item in ip_list:
future = executor.submit(self.get_host, str(item))
to_do.append(future)

results = []
for future in futures.as_completed(to_do):
res = future.result()
results.append(res)
return len(results)


参考资料:

1、Python 计算Dome运行时间的装饰器


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Python 统计函数运行时间

分享到:

发表评论

评论列表