Python系列教程13

还有一些其他的方案可以用来运行Python程序,它们具有更加专注的目标:

•Stackless Python系统是标准CPython实现的一个变体,它不会在C语言调用栈上保存状态。这使得Python更容易移植到较小的栈架构中,提供了更高效的多处理选项,并且促进了像coroutine这样的新奇的编程结构。

•Cython系统(基于Pyrex项目所完成的工作)是一种混合的语言,它为Python代码结合了调用C函数以及使用变量、参数和类属性的C类型声明的能力。Cython代码可以编译成使用Python/C API的C代码,随后可以再完整地编译。尽管与标准Python并不完全兼容,Cython对于包装外部的C库以及提高Python的C扩展的编码效率都很有用。

要了解有关这些系统的详细信息,可以在Web上搜索最近的链接。

未来的可能性

值得注意的是这里所简要描述的运行时执行模块事实上是当前Python实现的产品,并不是语言本身。例如,或许将来会出现一种完全的、传统的将Python源代码变为机器代码的编译器(尽管在最近的20年里还没有一款这样的编译器)。未来也许会有新的字节码格式和实现方式的变体将被采用。例如:
•Parrot项目的目标就是提供一种对于多种编程语言通用的字节码格式、虚拟机以及优化技术。Python自己的PVM运行Python代码比Parrot效率更高,但Parrot如何发展还不明晰。
•项目PyPy尝试在PVM上重新实现Python,以便使新的实现技术成为可能。其目标是产生一个快速而灵活的Python实现。

尽管未来实现的原理有可能从某种程度上改变Python运行的结构,但就未来的一个时期内来看,字节码编译仍然将会是一种标准。字节码的可移植性和运行的灵活性对于很多Python系统来说是很重要的特性。此外,为了实现静态编译,而增加类型约束声明将会破坏这种灵活、明了、简单以及所有代表了Python编码精神的特性。由于Python本身的高度动态性,以后的任何实现方式都可能保留许多当前的PVM产品。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值