我们通常意义上说的python是cpython,也就是完全用C实现的python,它支持C的扩展,不支持java什么的扩展。
jython是完全用jython实现的python,它支持用java扩展,貌似无法用C扩展。
jython用途比较少。主要在两个场景下:
1、操作系统不提供cpython, 只有JAVA可以用。比如sun工作站,或者是某些嵌入式设备。
2、不得不用一些JAVA的包来提供功能。所以只能用jython来调用JAR包。
jython因为有java的即时编译器和编译优化效果,所有速度还是不错的。
不过jython的总体来讲,支持包不够多。不象是cpython 2.7那样,几乎所有的包都支持。极其丰富。不过纯python的包都可以在jython上安装使用。
jython的版本号通常比cpython的要低。不过现在到了2.7也基本上持平了。流行的jython就是2.5,2.7两个版本。
另外jython似乎对于GIL处理的更好些。所以原则上讲,并发性能更好。所以jython的线程应该会比cpython的线程更强大。可以更好的利用到java的性能,把CPU的各个核都用上。
另外内存的使用上,按理jython也可以利用到java的一些优点。cpython通常字典超 过2GB内存就会很慢。也许jython要好些。
总体来讲,性能上还是cpython要更快些。最快的是pypy,其次是cython, 再次是cpython, jython应该在后面。
标签:jython,java,cpython,区别,python,扩展,2.7 From: https://blog.csdn.net/hakesashou/article/details/143082389