【发布时间】:2010-07-26 18:37:44
【问题描述】:
考虑像 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)
不同的格式对性能有多大影响?是否可以做出有效的概括,还是因语言而异?
我希望优化编译器会进行内联并为两者输出大致相同的机器代码。那么也许这只是解释语言的一个问题?
【问题讨论】:
-
是什么让您认为嵌套效果器的性能?
-
你说的是函数调用的嵌套,还是函数定义的嵌套?例如。
(+ (* (- 1 2) 3) 4)function() outer { function inner() { alert('hi'); } } -
可读性受到威胁吗?
-
向我们展示您关心的代码示例会对您有所帮助。
-
@PeterK:老实说,我没有意识到这对人们来说是一个激励因素。感谢您指出了这一点。 :-)
标签: javascript python performance coding-style nested