javascript - 嵌套会影响效率吗?

标签 javascript python performance coding-style nested

考虑允许像这样嵌套函数的 Python 或 JavaScript 等语言:

print(vector(a * b),(a * c),(b * c)))

或者像这样扁平化:

i = (a * b)
j = (a * c)
k = (b * c)
V = vector(i,j,k)
print(V)

不同的格式对性能有多大影响?是否可以进行有效的概括,或者它是否因语言而异?

我希望优化编译器能够为两者进行内联并输出大致相同的机器代码。那么也许这只是解释性语言的问题?

最佳答案

与内联存在的相同代码或将函数视为内联的编译相比,任何函数调用都会添加少量机器指令,包括更多参数的机器指令。

但是,这是非常少的机器指令。因此,在大多数情况下,您可以通过选择和实现更高效的算法,轻松地将任何非平凡大小的输入恢复原状。

如果您真的处于性能的前沿(很可能您没有,除非您正在处理设备驱动程序)那么您可以开始内联函数或切换到汇编。

但无论如何,先编写尽可能清晰的代码,然后在开始担心性能之前进行测量。通过这样做,您将拥有更少的错误,从而有更多时间来优化正确工作的代码。

编辑:如果您指的是匿名函数之类的东西,它们会导致性能下降,但一如既往,先测量,再优化。

关于javascript - 嵌套会影响效率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337861/

相关文章:

python - 如何使用 python 在 hadoop 流作业中使用文件?

java - 就性能而言,隐式(自动)拆箱或显式拆箱哪个更好?

javascript - 将 create-react-app 构建版本部署到 Heroku

javascript - 如何对存储为变量的多个元素应用更改事件?

javascript - 滑动侧边栏在内容下方打开

javascript - Google 图表平移缩放按钮

python - 带初始化的递归函数

python - 向后读取字符串并首先终止于 '/'

C++ 返回值与异常性能

oracle - 简单的 Oracle UPDATE 语句性能异常糟糕