CPython是用C语言实现Pyhon,是目前应用最广泛的解释器。Python最新的语言特性都是在这个上面先实现,Linux OS X等自带的也是这个版本,包括Anaconda里面用的也是CPython。CPython是官方版本加上对于C/Python API的全面支持,基本包含了所有第三方库支持,例如Numpy,Scipy等。但是CPython有几个缺陷,一是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不及Java和Javascipt等语言。于是出现了Pypy。
Pypy使用Python自身实现的解释器,针对Cpython的缺点进行了各方面的改良,性能得到很大的提升。最重要的一点是Pypy集成了JIT。但是,Pypy无法支持官方的C/Python API, 导致无法使用numpy, Scipy等重要的第三方库。这也是Pypy这些年来没有被广泛应用的主要原因。
Jython是将Python code在JVM上面跑和调用java code的解释器。
numba是为了提高numpy速度而开发的,使用llvm将python代码翻译为bitcode,并在bitcode外面做了一层包装,让python可以调用。通过numba翻译的代码由于经过llvm优化并可在机器上直接执行,效率将有所提高,对海量数据处理非常有帮助