【发布时间】:2011-11-06 18:59:32
【问题描述】:
说,我有一个代码,它从循环中调用了数百万次的函数,我希望代码更快:
def outer_function(file):
for line in file:
inner_function(line)
def inner_function(line):
# do something
pass
不一定是文件处理,例如可以是从函数绘制线调用的函数绘制点。这个想法是,从逻辑上讲,这两者必须分开,但从性能的角度来看,它们应该尽快一起行动。
Python 会自动检测和优化这些事情吗?如果没有 - 有没有办法给它一个线索呢?也许使用一些额外的外部优化器?...
【问题讨论】:
-
这里的“优化”是什么意思?内联?
-
与函数体相比,通常函数调用开销可以忽略不计。所以不确定是否值得。
-
与从文件加载行并解析它们的时间相比,在传递函数或循环中花费的时间是多少?
-
列表理解会更糟,因为它必须构建一个结果列表。
-
认真的吗?您希望代码速度快,但您使用的是 Python?
标签: python optimization compiler-optimization