速度慢
Python之所以速度慢,主要是由于动态性和多功能性。
Python 的运行过程是虚拟机读入 Python 代码(文本),词法分析,编译成虚拟机认识的 opcode,然后虚拟机解释 opcode 执行。但这其实不是最主要的原因,Python import 之后会缓存编译后的 opcode,所以读入、词法分析和编译并没有占用太多的时间。
那么真正的慢的是哪一步分呢?就是后面的虚拟机解释 opcode 执行的部分。前期的编译是将 Python 代码编译成解释器可以理解的中间代码,解释器再将中间代码翻译成 CPU 可以理解的指令。相比于 AOT(提前编译型语言,比如C)直接编译成机器码,肯定是慢的。
下面是五种已有的方案,帮助你提高Python的性能。
Cython
是Python的C语言扩展,cPython是一门单独的语言,专门用来写在Python里面的import用的扩展库。CPython跟Python语法基本一致,而CPython有专门的编译器。
据说,Cython提供了一些特性来让代码更高效,比如变量类