文章内容
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)
参考资料:
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - Python 统计函数运行时间
TypeError: an integer is required (got type str)
TypeError: write() argument must be str, not BeautifulSoup
TypeError: write() argument must be str, not BeautifulSoup
评论列表