代码跑得慢甩锅Python?手把手教你如何给代码提速30%
Python已经得到了全球程序员的喜爱,但是还是遭到一些人的诟病,原因之一就是认为它运行缓慢。
其实某个特定程序(无论使用何种编程语言)的运行速度是快还是慢,在很大程度上取决于编写该程序的开发人员自身素质,以及他们编写优化而高效代码的能力。
Medium上一位小哥就详细讲了讲如何让python提速30%,以此证明代码跑得慢不是python的问题,而是代码本身的问题。
时序分析
在开始进行任何优化之前,我们首先需要找出代码的哪些部分使整个程序变慢。有时程序的问题很明显,但是如果你一时不知道问题出在哪里,那么这里有一些可能的选项:
注意:这是我将用于演示的程序,它将进行指数计算(取自Python文档):
# slow_program.py
from decimal import *
def exp(x):
getcontext().prec += 2
i, lasts, s, fact, num = 0, 0, 1, 1, 1
while s != lasts:
lasts = s
i += 1
fact *= i
num *= x
s += num / fact
getcontext().prec -= 2
return +s
exp(Decimal(150))
exp(Decimal(400))
exp(Decimal(3000))
最简约的“配置文件”
首先,最简单最偷懒的方法——Unix时间命令。
~ $ time python3.8 slow_program.py
real 0m11,058s
user 0m11,050s
sys 0m0,008s
如果你只能直到整个程序的运行时间,这样就够了,但通常这还远远不够。
查看更多内容请戳链接 # https://t.cn/A6vrLK6d
Python已经得到了全球程序员的喜爱,但是还是遭到一些人的诟病,原因之一就是认为它运行缓慢。
其实某个特定程序(无论使用何种编程语言)的运行速度是快还是慢,在很大程度上取决于编写该程序的开发人员自身素质,以及他们编写优化而高效代码的能力。
Medium上一位小哥就详细讲了讲如何让python提速30%,以此证明代码跑得慢不是python的问题,而是代码本身的问题。
时序分析
在开始进行任何优化之前,我们首先需要找出代码的哪些部分使整个程序变慢。有时程序的问题很明显,但是如果你一时不知道问题出在哪里,那么这里有一些可能的选项:
注意:这是我将用于演示的程序,它将进行指数计算(取自Python文档):
# slow_program.py
from decimal import *
def exp(x):
getcontext().prec += 2
i, lasts, s, fact, num = 0, 0, 1, 1, 1
while s != lasts:
lasts = s
i += 1
fact *= i
num *= x
s += num / fact
getcontext().prec -= 2
return +s
exp(Decimal(150))
exp(Decimal(400))
exp(Decimal(3000))
最简约的“配置文件”
首先,最简单最偷懒的方法——Unix时间命令。
~ $ time python3.8 slow_program.py
real 0m11,058s
user 0m11,050s
sys 0m0,008s
如果你只能直到整个程序的运行时间,这样就够了,但通常这还远远不够。
查看更多内容请戳链接 # https://t.cn/A6vrLK6d
【#加拿大# 发行的庚子#鼠年生肖邮票# 】 #Canada# Post a émis deux #timbres# célébrant l'année du #rat# , représentant la première année du nouveau cycle du nouvel an lunaire et le dernier numéro d'une seconde série de 12 années honorant la Fête du Printemps.#Chine# #春节##NouvelAnChinois2020#
前两天爆出来的,某事儿B女主要求制作人换掉基佬男主的瓜,这两天泰民也在热议…
先整理一下爆料线索,之前网上的信息不太准确,特意去看了下泰文原帖…线索整理如下:
1、男主很白,很帅,笑容好看;
2、制作人是年轻漂亮的女制作人,年纪不大;
3、女主没什么有名气的代表作,接戏的时候事儿很多,服装不时尚的话就不穿不演;
4、是老电视台。
然后有泰民猜是3台,因为有两部小说改编的新剧正在选角…分别是ซ่านเสน่หา和ลางเสน่หา…
还有好多人猜制作人是Ja姐(制作公司Maker Y,我的秘密新娘制作人),还爱特她……气的在马代玩耍的Ja姐跑去推特上澄清,说跟我有毛线关系,姐姐我还要再玩耍半年呢……然后三台节目也在扒,名主持Num直接说不是三台……
于是泰民齐刷刷看向七台………
先整理一下爆料线索,之前网上的信息不太准确,特意去看了下泰文原帖…线索整理如下:
1、男主很白,很帅,笑容好看;
2、制作人是年轻漂亮的女制作人,年纪不大;
3、女主没什么有名气的代表作,接戏的时候事儿很多,服装不时尚的话就不穿不演;
4、是老电视台。
然后有泰民猜是3台,因为有两部小说改编的新剧正在选角…分别是ซ่านเสน่หา和ลางเสน่หา…
还有好多人猜制作人是Ja姐(制作公司Maker Y,我的秘密新娘制作人),还爱特她……气的在马代玩耍的Ja姐跑去推特上澄清,说跟我有毛线关系,姐姐我还要再玩耍半年呢……然后三台节目也在扒,名主持Num直接说不是三台……
于是泰民齐刷刷看向七台………
✋热门推荐