为什么[]比list()更快?
程序员文章站
2022-05-15 14:45:14
我最近比较了[]和list()的处理速度,并且惊讶地发现[]运行速度比list()*倍以上。我跑了相同的测试与{}和dict(),结果几乎相同:[]和{}两个花了大约0.128sec /百万次,而list()和dict()大约花费每个0.428sec /万次。 后来我查了查原因,得到的结论如下: ......
我最近比较了[]和list()的处理速度,并且惊讶地发现[]运行速度比list()*倍以上。我跑了相同的测试与{}和dict(),结果几乎相同:[]和{}两个花了大约0.128sec /百万次,而list()和dict()大约花费每个0.428sec /万次。
后来我查了查原因,得到的结论如下:
list()需要全局查找和函数调用,但[]编译为单个指令。
python 2.7.3 >>> import dis >>> print dis.dis(lambda: list()) 1 0 load_global 0 (list) 3 call_function 0 6 return_value none >>> print dis.dis(lambda: []) 1 0 build_list 0 3 return_value none
下一篇: Apollo源码解析-搭建调试环境