Python performance tips test

31 Mar 2017

测试了一些Python中的性能建议( 地址 )。测试案例都很简单(Gist地址), 所以不对测试的结论负责任。

1 String concat

最快速度的方式就是最基本的方式:+(所以+=应该也是)。 之前有一些建议是用%或者format一类的方式,我简单测试的结果是,%的方式在concat的项不多的情况下(<10),还没有+速度快。 针对string list的concat结果也是这样,join的方式也没有+速度快(同样也是<10项左右的情况)。

以后可以安心使用自己最爱用的简单粗暴方法了,毕竟一般用+的场合很少会有10项以上的string concat。

2 Loop

List comprehensions的速度最快,生成iter之后再求值一遍其次,之后是map,最后是写for。

3 global vs local

函数和变量都用local速度会有提升。全局函数调用次数多的,可以考虑放在本地的名字空间里面。

4 import

import本身调用是有开销的。所以,放在文件头位置最好。当然,确认就一次调用的话,放哪随意。