微信号:pythonbuluo

介绍:最专业的Python社区,有每日推送,免费电子书,真人辅导,资源下载,各类工具.我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动

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

2018-10-10 08:10 Python程序员

除了它是一个非常大的依赖,我对使用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


 
Python程序员 更多文章 PyQt5教程 --学习如何创建一个2018年的Python GUI Python Unicode编码混乱 :来自大洋彼岸的怨念 人性化的子进程:Delegator.py Firefox、Edge均将支持WebP图片格式(该格式来自Google) 来,见识一下内存12TB的超大服务器
猜您喜欢 给Hugo提交了一个PR 三天搞定Python基础功,Day 1基础篇 学编程的那么多,IT行业还是人才短缺? 23 中设计模式分享节奏 【招聘】淡季难就业?在我们这里不存在的~