包含python在函数里计时的词条( 三 )


谁快谁慢,一眼便知!
filter配合 lambda 大法就是屌?。。?
4. 避免循环重复计算
如果你有一个迭代器,必须用它的元素做一些耗时计算,比如匹配正则表达式 。你应该将正则表达式模式定义在循环之外,因为最好只编译一次模式 , 而不是在循环的每次迭代中一次又一次地编译它 。
只要有可能,就应该尝试在循环外进行尽可能多的运算,比如将函数计算分配给局部变量 , 然后在函数中使用它 。
# ? 应改避免的方式:@timeshowdef f_more(s):import refor i in s:m = re.search(r'a*[a-z]?c', i)# ? 更好的方式:@timeshowdef f_less(s):import reregex = re.compile(r'a*[a-z]?c')for i in s:m = regex.search(i)s = ["abctestabc"] * 1_000f_more(s)f_less(s)
输出为:
f_more : 0.001068 sec
f_less : 0.000365 sec
5. 少用内存、少用全局变量
内存占用是指程序运行时使用的内存量 。为了让Python代码运行得更快 , 应该减少程序的内存使用量,即尽量减少变量或对象的数量 。
Python 访问局部变量比全局变量更有效 。在有必要之前,应该始终尝试忽略声明全局变量 。一个在程序中定义过的全局变量会一直存在,直到整个程序编译完成 , 所以它一直占据着内存空间 。另一方面,局部变量访问更快,且函数完成后即可回收 。因此,使用多个局部变量比使用全局变量会更好 。
# ? 应该避免的方式:message = "Line1\n"message += "Line2\n"message += "Line3\n"# ? 更好的方式:l = ["Line1","Line2","Line3"]message = '\n'.join(l)# ? 应该避免的方式:x = 5y = 6def add():return x+yadd()# ? 更好的方式:def add():x = 5y = 6return x+yadd()
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
在python里用time.time判断函数的执行时间靠谱吗使用time.time来统计函数的执行时间,程序只会执行一次,存在很大的随机因素 。
timtit包就可以重复执行函数多次,然后将多次执行结果取平均值 。相比起来更优 。
然而程序执行时间很大程度还受计算机性能的影响,衡量程序好坏更靠谱的手段是计算时间复杂度 。
python编程中time模块下的clock()函数怎么用?print time.clock()显示的是1.3099e-06,看不懂测试下就知道了
import time
time.clock()#第一次调用
time.sleep(1)
time.clock()#第二次调用
time.sleep(1)
time.clock()#第三次调用
time.sleep(2)
time.clock()#第四次调用
结果
3.6317464929201895e-06这个是3.63..*10的负6次方单位秒
0.99971644440843743后面基本以这个为主了
1.9996628063063882
3.9996745396412114
这个时间看不懂吗,你只要看小数点后1 2 位就可以了,就是执行的时间而已,单位都是秒
python在函数里计时的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于、python在函数里计时的信息别忘了在本站进行查找喔 。

推荐阅读