我正在处理 300k 大文件,并看到一个主要的性能问题。
问题在于正在执行的检查数量。
我们有很多函数,并计划将它们变成匿名函数。
我想知道使用匿名函数时是否有任何性能提升。
这个问题本身很容易回答,不,在 Python 中使用匿名函数没有性能提升。你很有可能实际上让它变慢了。
对平凡函数的简单timeit
测试表明两者之间没有真正的区别。我们取这两个函数
def test(message):
return message + message
testanon = lambda message: message + message
然后使用timeit
模块来测试它们的执行速度:
>>> timeit.repeat("test('test')", setup="from __main__ import test")
[0.16360807418823242, 0.1602180004119873, 0.15763211250305176]
>>> timeit.repeat("testanon('test')", setup="from __main__ import testanon")
[0.15949010848999023, 0.15913081169128418, 0.17438983917236328]
可见,没有真正值得考虑的真正大的性能提升,您的性能问题很可能出在其他地方。