Python, CPython, Pypy, Jython的简单介绍

简单地说,Python是一门编程语言,任何一种编程语言都需要用另一种语言来实现它,比如C语言就是用机器语言来实现的。所以,Python根据实现方式不同分为了CPyhton、Pypy、Jython等。

CPython

CPython是用C语言实现Pyhon,是目前应用最广泛的解释器。Python最新的语言特性都是在这个上面先实现,Linux,OS X等自带的也是这个版本,包括Anaconda里面用的也是CPython。CPython是官方版本加上对于C/Python API的全面支持,基本包含了所有第三方库支持,例如Numpy,Scipy等。但是CPython有几个缺陷,一是全局锁使Python在多线程效能上表现不佳,二是CPython无法支持JIT(即时编译),导致其执行速度不及Java和Javascipt等语言。于是出现了Pypy。

Pypy

Pypy是用Python自身实现的解释器。针对CPython的缺点进行了各方面的改良,性能得到很大的提升。最重要的一点就是Pypy集成了JIT。但是,Pypy无法支持官方的C/Python API,导致无法使用例如Numpy,Scipy等重要的第三方库。这也是现在Pypy没有被广泛使用的原因吧。

Jython

Jython是将Python code在JVM上面跑和调用java code的解释器。

以上只是简单介绍了Python,CPython,Pypy,Jython的关系,算是抛砖引玉了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一名合格java开发的自我修养

java使用Map做缓存你真的用对了吗?弱引用WeakHashMap了解一下

序:使用java的Map做缓存,你是否考虑过容量导致的OOM问题,是否考虑命中率对性能的影响??

2021
来自专栏Python自动化测试

工厂设计模式在自动化中的引用(一)

在自动化测试的范围中,目前依据webdriver的,web应用测试框架有selenium2,对于移动app自动化的测试,有appium,selen...

873
来自专栏纯洁的微笑

FastDFS并发会有bug,其实我也不太信?- 一次并发问题的排查经历

前一段时间,业务部门同事反馈在一次生产服务器升级之后,POS消费上传小票业务偶现异常,上传小票业务有重试机制,有些重试三次也不会成功,他们排查了一下没有找到原因...

8976
来自专栏风口上的猪的文章

.NET面试题系列[2] - .NET框架基础知识(2)

面试出现频率:虽然很重要但不怎么出现,可能会考你定义,以及程序集包括什么,然后自然的话题就跑到反射上去了。

1172
来自专栏CDA数据分析师

热度碾压 Java、C#、C++的 Python,为什么速度那么慢?

眼下 Python 异常火爆,不论是 DevOps、数据科学、Web 开发还是安全领域,都在用 Python——但是它在速度上却没有任何优势。

1071
来自专栏鹅厂优文

深入浅出Lua虚拟机

本文标题是”深入浅出 Lua 虚拟机”,其实重点在浅出这两字上。毕竟作者的技术水平有限。但是听说名字要起的屌一点文章才有人看,故而得名。

1.1K14
来自专栏UDNZ

【译】Go 语言实践:编写可维护的程序的建议

本文为 QCon 2018 上海站主题演讲嘉宾、Heptio 资深工程师、著名 Go 语言专家 David Cheney 关于 Go 语言实践的英文分享。为方便...

4198
来自专栏算法+

c语言智能指针 附完整示例代码

资源获取即初始化 (Resource Acquisition Is Initialization, RAII),RAII是一种资源管理机制,资源的有效期与持有资...

1946
来自专栏PHP在线

PHP7性能提升之后的思考

导读] 时下不少人拿PHP7的高性能与HHVM来做比较,那么问题来了:随着PHP7性能的提升,我们能预测出未来PHP这门语言会用PHP写出来么?最经典的实例就是...

3118
来自专栏一名叫大蕉的程序员

JVM知识点总览:高级Java工程师面试必备

程序员,就是“一人,一键,二机”行走其间的孤独剑客。我们游走代码江湖,弹指间,便可掀起一场风雨变革。而在江湖中狂荡,必然要练就绝世武功,则需要内外兼备:精妙的招...

1022

扫码关注云+社区