【问题标题】:Is there an explicit performance benefit in shorter code?较短的代码是否有明显的性能优势?
【发布时间】:2020-05-08 01:55:44
【问题描述】:

在 Python 中压缩代码非常有用。它经常省略多个字符,在某些情况下甚至可能省略多行,并且在代码打高尔夫球中绝对必不可少。但是,这种代码的缩短对性能有影响吗?有可衡量的好处吗?

说出这个基本的假设代码,

import math

number = '5'
variable = math.ceil(float(number))
print(variable)

看起来运行良好、被重构或压缩成

from math import ceil

print(ceil(float('5.1')))

两个程序都运行良好,没有错误,但为什么前者在生产中不太常见?第一个代码 sn -p 看起来更容易阅读,看起来更简单。单行代码与第二部分中的详细形式相比是否有性能优势?

【问题讨论】:

  • 在性能方面,您可以使用内置的 timeit 模块,或者您的代码的内存配置文件来自己查看结果。至于您可能会看到其中一个的原因,这将高度依赖于环境和编码人员的偏好。就个人而言,我会使用前者来提高可读性,如果我需要重用变量。如果我只需要打印一个结果并保存内存分配,我会使用后者(在代码中使用 cmets)

标签: python python-3.x performance runtime execution


【解决方案1】:

我不太确定计算机的内部工作原理以及它如何运行代码,但我相信由于引入了一个新变量,第一个计算机的运行速度会稍微慢一些。我怀疑它会引起注意。但是再说一遍,我对此一无所知,如果我错了,请告诉我并删除它。

第一个有 77 个字节,而第二个只有 48 个字节,因此运行它所需的时间会略有改善。

【讨论】:

猜你喜欢
  • 2011-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 2012-01-11
  • 2020-08-29
  • 2017-03-04
  • 1970-01-01
相关资源
最近更新 更多