Python测试函数运行时间
import time
import datetime
# 测试函数运行时间
def cal_time(fn):
"""计算性能的修饰器"""
def wrapper(*args,**kwargs):
starTime = time.time()
f = fn(*args,**kwargs)
endTime = time.time()
print('%s() runtime:%s ms' % (fn.__name__, 1000*(endTime - starTime)))
return f
return wrapper
@cal_time
def test():
print("开始计算程序运行时间-----------")
for i in range(1000000):
i = i +1
if __name__ == "__main__":
test()
调用此方法
from cal_time import cal_time
'''
查找:在一些数据元素中,通过一定的方法找出与关键字相同元素的过程, 列表查找:从列表中查找指定元素
输入:列表、待查找元素
输出:元素下标(未找到元素时一般返回None或-1)
内置列表查找函数:index()
'''
# 顺序查找: 线性查找,从列表的第一个元素开始,顺序进行搜索,直到找到元素或搜索到列表的最后一个元素
# 时间复杂度 O(n) n---列表的长度 循环过程中无减半
@cal_time
def linear_search(li,val): # li 列表 val 待查找元素
for ind,v in enumerate(li):
if v == val:
return ind
else:
return None
# 二分查找 : 折半查找,从有序列表中的初始候选区li[O:n]开始,通过对待查找的值与候选区中间的值的比较,
# 可以使候选区少一半
# li[1,2,3,4,5,6,7,8,9] @cal_time
def binary_search(li,val):
left = 0
right = len(li) - 1
while left <= right:# 筛选候选区值
mid = (left + right) // 2
if li[mid] == val:
return mid
elif li[mid] > val:#待查找值在mid的左侧
right = mid - 1
else:# li[mid] 值小于val 意味着带查找的值在mid右侧
left = mid + 1
else:
return None #li = [1,2,3,4,5,6,7,8,9]
li = list(range(100000000))
linear_search(li,3888)
binary_search(li,3888)
Python测试函数运行时间的更多相关文章
- Python测试函数的方法之一
Python测试函数的方法之一 首先介绍简单的try......except尝试运行的放例如下面的图和代码来简单介绍下: 注释:提醒以下代码环境为2.7.x 请3.x以上的同学们老规矩print(把打 ...
- 分析python程序运行时间的几种方法
最早见过手写的,类似于下面这种: 1 import datetime 2 3 def time_1(): 4 begin = datetime.datetime.now() 5 sum = 0 6 f ...
- Python计算程序运行时间
方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.no ...
- 计算Python代码运行时间长度方法
在代码中有时要计算某部分代码运行时间,便于分析. import time start = time.clock() run_function() end = time.clock() print st ...
- python测试函数的使用时间
1. 使用装饰器来衡量函数执行时间 有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果:(代码通用3.x) import time from functools import wra ...
- Python控制函数运行时间
在某个Flask项目在做后端接口时需要设置超时响应,因为接口中使用爬虫请求了多个网站,响应时间时长时短. 我需要设置一个最大响应时间,时间内如果接口爬虫没跑完,直接返回请求超时. 从网上了解到有两种方 ...
- 在C中测试函数运行时间
#include <stdio.h> #include <time.h> #include <math.h> clock_t start, stop; //cloc ...
- Python: 测试函数是否被调用
# helper class defined elsewhere class CallLogger(object): def __init__(self, meth): self.meth = met ...
- Python 计算程序运行时间
import time def start_sleep(): time.sleep(3) if __name__ == '__main__': #The start time st ...
随机推荐
- PHP strcspn() 函数
实例 输出在字符串 "Hello world!" 中找到字符 "w" 之前查找的字符数: <?php高佣联盟 www.cgewang.comecho st ...
- ajax模拟表单提交,后台使用npoi实现导入操作 方式二
页面代码: <form id="form1" enctype="multipart/form-data"> <div style=" ...
- day20:正则表达式
单个字符的匹配 findall(正则表达式,字符串) 把符合正则表达式的字符串存在列表中返回 预定义字符集(8) \d 匹配数字 \D 匹配非数字 \w 匹配数字字母下划线 \W 匹配非数字或字母或下 ...
- 一文入门人工智能的明珠:生成对抗网络(GAN)
一.简介 在人工智能领域内,GAN是目前最为潮流的技术之一,GAN能够让人工智能具备和人类一样的想象能力.只需要给定计算机一定的数据,它就可以自动联想出相似的数据.我们学习和使用GAN的原因如下: 1 ...
- Python爬取招聘网站数据,给学习、求职一点参考
1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于“数据”方面的人才需求也在不断增大.因此了解当下企业究竟需要招聘什么样的人才?需要什么样的技能?不管是对于 ...
- axios的post请求返回状态码400
设置拦截 axios.interceptors.request.use((config) => { if (config.method === 'post') { if (!config.isF ...
- 2020-06-16:Redis hgetall时间复杂度?
福哥答案2020-06-16: 时间复杂度是O(N).时间复杂度:O(N) where N is the size of the hash.
- C#设计模式之17-中介者模式
中介者模式(Mediator Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/419 访问. 中介者模式 ...
- C#LeetCode刷题之#283-移动零(Move Zeroes)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3907 访问. 给定一个数组 nums,编写一个函数将所有 0 移 ...
- 极简 Node.js 入门 - 2.2 事件
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...