Pyston 0.3 发布,基于 JIT 的 Python 2.7 的实现

oschina
 oschina
发布于 2015年02月26日
收藏 17

Pyston 是一个 Dropbox 推出的新的基于 JIT 的 Python 2.7 的实现。Pyston 解析 Python 代码并转换到 LLVM 的 intermediate representation (IR).  然后 IR 通过 LLVM 优化器处理后在 LLVM JIT 引擎上执行,其结果是机器码的执行。

目前该项目还处于早期状态,不过要注意 Python 的发明者 Guido van Rossum 目前就在 Dropbox 工作,但不清楚是否负责此项目。

Pyston 0.3 发布,此版本最大的特性是可以在 Pyston 上运行所有的内部脚本,提升了系统性能。这里会分享当前项目状态和未来的规划。

主要改进:

  • 语言兼容性

  • 性能提升

未来规划

在项目管理方面,Pyston 有几位开发人员全职进行项目的开发,还有一些兼职开发人员。

Pyston 未来希望能继续扩展 Pyston 所支持的语言和运行时,维护特定的性能。Pyston 当前的性能任务是 1x CPython。

Pyston 当前托管在 GitHub:https://github.com/dropbox/pyston。 

更多改进内容请看发行说明

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Pyston 0.3 发布,基于 JIT 的 Python 2.7 的实现
加载中

最新评论(9

七液
七液
看完评论后只有一个感觉,一群都没看过python源码的小白在YY他们心目中的Python。
sunday12345
sunday12345

引用来自“eechen”的评论

转:静态类型语言在运行前就能确定变量的类型并做类型检查(如C/C++/Java),动态类型语言则是在运行时才能知道变量的类型并作类型检查(如Python/PHP/JavaScript).

@sunday12345 感觉动态类型语言并不利于JIT即时编译优化.
对,py是强类型,动态类型的编程语言。
eechen
eechen
转:静态类型语言在运行前就能确定变量的类型并做类型检查(如C/C++/Java),动态类型语言则是在运行时才能知道变量的类型并作类型检查(如Python/PHP/JavaScript).

@sunday12345 感觉动态类型语言并不利于JIT即时编译优化.
eechen
eechen
@sunday12345 不要意思,一直以为"声明变量指定类型,赋值两边类型对等"的语言才是强类型呢.
Python在做"1"+1时会报错,PHP则可以正常输出2.
看来Python是动态的强类型语言,而PHP和JavaScript则是动态的弱类型语言.
sunday12345
sunday12345

引用来自“eechen”的评论

http://hyperpolyglot.org/scripting
感觉弱类型的脚本语言很难通过JIT达到很高的计算性能,带有JIT的HHVM跟Java在计算密集型应用的测试中还有较大差距,所以Facebook才会考虑引入强类型的Hack语言.PHP开发组花了2年时间基于LLVM实现了一个JIT概念编译器(PoC of JIT compiler),bench.php测试提高了8倍,但实际应用如WordPress,性能却只提高了微不足道的1%.而且JIT也会给解析器引入很大的复杂性.

对WordPress进行分析,约20%的CPU时间花在内存管理上,约10%花在HashTable操作上,约30%花在内部函数,约30%花在VM上.也就是说,JIT能够明显提升计算密集型程序(bench.php)的性能,但WordPress并不是一个计算密集型程序.这也是为什么在WordPress测试中PHPNG性能接近具有JIT机制的HHVM的原因.
python是强类型。。。弱声明。
asdfsx
asdfsx

引用来自“eechen”的评论

http://hyperpolyglot.org/scripting
感觉弱类型的脚本语言很难通过JIT达到很高的计算性能,带有JIT的HHVM跟Java在计算密集型应用的测试中还有较大差距,所以Facebook才会考虑引入强类型的Hack语言.PHP开发组花了2年时间基于LLVM实现了一个JIT概念编译器(PoC of JIT compiler),bench.php测试提高了8倍,但实际应用如WordPress,性能却只提高了微不足道的1%.而且JIT也会给解析器引入很大的复杂性.

对WordPress进行分析,约20%的CPU时间花在内存管理上,约10%花在HashTable操作上,约30%花在内部函数,约30%花在VM上.也就是说,JIT能够明显提升计算密集型程序(bench.php)的性能,但WordPress并不是一个计算密集型程序.这也是为什么在WordPress测试中PHPNG性能接近具有JIT机制的HHVM的原因.
对于python,我现在的感想是,搞不定GIL,什么都是扯淡
eechen
eechen
http://hyperpolyglot.org/scripting
感觉弱类型的脚本语言很难通过JIT达到很高的计算性能,带有JIT的HHVM跟Java在计算密集型应用的测试中还有较大差距,所以Facebook才会考虑引入强类型的Hack语言.PHP开发组花了2年时间基于LLVM实现了一个JIT概念编译器(PoC of JIT compiler),bench.php测试提高了8倍,但实际应用如WordPress,性能却只提高了微不足道的1%.而且JIT也会给解析器引入很大的复杂性.

对WordPress进行分析,约20%的CPU时间花在内存管理上,约10%花在HashTable操作上,约30%花在内部函数,约30%花在VM上.也就是说,JIT能够明显提升计算密集型程序(bench.php)的性能,但WordPress并不是一个计算密集型程序.这也是为什么在WordPress测试中PHPNG性能接近具有JIT机制的HHVM的原因.
爱喝貓的咖啡
爱喝貓的咖啡
python本地化编译的意思?
返回顶部
顶部