<
极客APP-每日一课笔记-如何从容地应对生产事故
极客APP-每日一课笔记-如何使Python程序快如闪电提速30%
>
极客APP-每日一课笔记-如何深入理解分布式事务TCC实现原理
** 主讲 Martin Heinz(平川译) **
优化的原则是不做优化,优化代码要小心。
要点记录
- 计时性能分析,减慢程序的部分。
- 最懒的性能分析,使用
Unix time
命令。
- 最详细的性能分析,使用
cProfile
。
- 对具体的函数计时,
perf_counter
返回绝对值 包括Python程序进程不运行时时间 可能会受到机器负载的影响。
process_time
只返回用户的时间 不包括系统时间 只是进程时间。
- 使用内置数据内型快 c语言实现,树或链表等自定义类型慢。
- 使用
liu_cache
缓存数据,使用局部变量与每个作用域内查找变量的速度有关 局部变量与全局变量的关系。
- 使用函数,调用函数会将更多的东西放在堆栈中,从函数返回时会产生开销。
- 只将整个代码放入一个文件中,而不将其放入函数中,那么由于全局变量的关系,速度会慢很多。
- 不要访问属性操作符(.)用于访问对象属性,使用_
getattribute
_触发字典查找。
- 提防字符串,在循环中运行 模数(%s)或.format() 会慢,应该使用
f-string
,生成器本身并没有更快,因为它们允许延迟计算,这里节省的是内存而不是时间。