Medusa:比CPython更快的Python实现

编辑:光环大数据 来源: 互联网 时间: 2017-10-20 10:52 阅读:

  Medusa:比CPython更快的Python实现,作为一种解释型语言,Python有优点,也有缺点。它简单灵活,但编写大型软件时,其执行速度会低于其它原生/JIT语言。Medusa项目的目标就是要克服Python的这一缺点,提供功能更强大、执行速度更快的Python。

该项目基于Dart虚拟机,用Qt/C++、Python和Dart实现。它不仅为Python提供了一个更快的执行环境,而且还保持着Python原有的灵活性。Medusa将Python代码实时编译成Dart代码,然后由Dart虚拟机直接编译成机器代码,总共包括如下六个步骤:

将Python源文件分解成标记;

将步骤1生成的标记解析成一棵抽象语法树,同时检查错误;

遍历树,在每个节点生成等价的Dart代码并优化;

将代码缓存在持久性存储SQLite3数据库中;

使用Dart代码调用Dart虚拟机;

缓存生成的机器代码并输出。

相应地,其架构图如下:

与CPython相比,通过Medusa生成的代码要快10~15倍。而且,Dart虚拟机的一些特性进一步丰富了Python的功能,开发人员可以用它做更多的事情。比如,项目主要开发人员RahulDe举了一个小例子,涉及代码如下:

sayHello()

defsayHello():print"Hello"

这样的代码在CPython中会无法执行,因为sayHello()函数在定义之前被调用了。但Medusa可以找到函数定义,并生成Dart代码。

先前也有类似的项目,比如谷歌的实验性项目ShedSkin就试图将隐式静态类型的Python程序编译成C++代码,但它对输入的代码有诸多限制。而Medusa项目的目标是运行已有的Python代码,而又不需要或者只需要很小的修改。

  Python培训,就选光环大数据Python培训机构python学习地址:http://hadoop.aura.cn/python/


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();