我们都知道python程序有个缺点,就是运行速度缓慢,这是python作为一个语言的一大“黑点”了。所以针对运行速度慢,PyPy充当了“救世主”,来帮助解决这种问题。
为什么PyPy这么快?
提高PyPy速度的秘诀是「即时编译」,也就是JIT编译。
提前编译
像C,C++,Swift,Haskell,Rust这样的编程语言通常都是提前编译的(AOT编译)。也就是说,当你用这些语言写好代码后,编译器会把源代码转换为特定计算机架构可读的机器码。即当一个程序执行时,执行的并非原始代码,而是机器码。
提前编译把源代码转化为机器代码
解释语言
像C,Python,JavaScript,PHP等,使用的是——解释语言。相对于将源码转换成机器码,解释的过程中源代码是保持不变的。每当程序运行时,解释器都会逐行检查并运行代码。比如,JavaScript解释程序就内置在每个Web浏览器中。
解释器逐行运行程序
即时编译
PyPy利用即时编译来实现Python代码。也就是PyPy与解释器不同的是,它不会逐行地运行代码,而是在执行程序之前先将部分代码编译成机器码。
JIT编译综合了提前编译和解释
PyPy使用的JIT编译是解释和提前编译的结合,它能够利用提前编译来提高性能,并且能够提高解释语言的灵活性和跨平台性。
本文主要讲解的内容是,PyPy为什么运行速度快的3个原因,分别是提前编译、解释语言、即时编译,从这三点来看,可以让PyPy很好地运行python程序,从而帮助你解决Python上运行速度缓慢的问题。较后,希望大家能通过本篇文章的介绍,了解为什么PyPy运行快的原因,从而如果你的Python程序存在运行缓慢的问题,可以提供参考借鉴,或许可以使用PyPy来提高你的Python程序运行速度呢?