原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12233622.html
dis
可以使用dis模块来判断哪种代码的运行速度更快,具体的原理是:Python代码是由Python虚拟机执行的,Python虚拟机执行的是字节码,Python代码运行前会被编译为字节码,dis模块则可以对Python代码进行生成字节码操作。
e.g. 比较 a = list() 和 b = [] 两种创建空列表方法的运行速度
import dis def func(): a = list() b = [] dis.dis(func)
Console Output
可以看出 a = list() 这种写法包括了 CALL_FUNCTION 行为, 在Python中进行 function call,需要创建一个栈,然后进行参数检查之类的操作,显然没有直接使用 [] 这种内置的C函数效率高