Python中国社区  »  Python

Dropbox创建了一种新的Python编译器:mypyc

Python程序员 • 3 月前 • 59 次点击  

除了它是一个非常大的依赖,我对使用Cython进行测试或在stdlib中使用它没有强烈的意见。不过我认为在CPython中添加一个"Cython-lite"工具不是一个好主意,创建和维护该工具将会带来很多工作。


说到这儿,Dropbox使用了一种新的编译器叫作"mypyc"。


mypyc会将带有类型注释的python代码编译为优化的c代码。它的首要目标是用来编译mypy以使其更快,所以我希望该项目会最终完成。基本上,mypyc会和Cython极其类似,但是mypyc是python的子集而不是超集。成为python的一个严格子集意味着mypyc可以在PyPy中执行得很好。由于它是一个严格的静态类型系统,他们甚至可以最终进行一些优化。


使用cffi可以轻松实现与c库的连接。我更愿意在CPython的stdlib中开始使用mypyc+cffi这种组合。Cython是一个相对复杂并且文档匮乏的语言。我在uvloop和asyncpg中编写了数千行的Cython之后深有体会。熟练使用Cython的作用是惊人的,但是我会在CPython中谨慎地为它做广告和应用。


我也不喜欢使用Cython去测试c API。编写c测试是讨厌的,它们的目的是使第三方工具或扩展更加的稳定。使用第三方工具测试c API去跟踪破坏第三方工具的回归错误。


英文原文:https://mail.python.org/pipermail/python-dev/2018-August/154951.html
译者:xiaocai



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/U12OYxN8lZ
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/24845
 
59 次点击  
分享到微博