我正在处理300k大文件并发现一个主要的性能问题。
问题在于正在执行的检查次数。
我们有很多功能,并计划将它们变成匿名功能。
我想知道使用匿名函数时是否有任何性能提升。
答案 0 :(得分:3)
问题本身很容易回答,没有在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]
可见,实际上并没有真正考虑到性能上的大幅增长,您的性能问题很可能就在其他地方。