当前位置:资讯 > 正文

惊喜来了!Fedora 32系统Python脚本运行速度可提高27%

2020-01-14 11:10:20  来源:开源中国

计划于4月发布的 Fedora 32有望给Python 开发者带来惊喜。Fedora 项目的变更介绍页面显示,在构建 Python 解释器时,开发团队添加了-fno-semantic-interposition编译器/链接器标志(compiler/linker flag),它将会显著提升性能,当然具体的性能改进效果取决于工作负载,官方提供的数据是最多可以提升27%。

诸如 nbody,scimark,django,光线跟踪之类的测试用例提升了20% 至27% 的性能,而通过 PyPerformance 测得的性能提高了5% 至20%。

而这给用户带来的变化是他们将不再能够使用 LD_PRELOAD 覆盖来自 libpython 的符号,不过官方认为这是提升速度的不错的折衷方案。

根据 GCC 关于语义插入(semantic interposition)标记的文档,“某些对象格式,例如 ELF,允许动态链接器插入符号。这意味着对于从 DSO 导出的符号,编译器无法按预期在执行过程中传播、内联和其他优化,但相关的函数或变量会有变化。尽管该功能很有用,例如,通过调试实现重写内存分配功能,但这在代码质量方面是昂贵的。使用-fno-semantic-interposition,编译器假定如果函数发生插入的情况,则覆盖函数将具有完全相同的语义(和副作用)。类似的,如果变量发生插入的情况,则变量的构造函数也将相同。该标志对显式声明为内联的函数无效,对弱声明的符号同样无效。”

据了解,这些改进最初是针对Fedora 32开发的,Fedora 项目的开发人员当时在研究静态链接 Python 的方案以提高性能。后来由于社区的反馈,他们缩小了范围,只希望优化 Fedora 32中的 Python,并将其限制为使用-fno-semantic-interposition编译器标志来构建 Python。

推荐阅读

五福数十万人集齐 新玩法有啥"猫腻"?

今天早上醒来一刷微博,发现敬业福上了微博热搜榜第一!没想到集五福都第5年了,大家因为没有集到敬业福而错失271 66元(2016年集五福活动)的 【详细】

TCL科技集团公司更名 家电企业变身科技公司

1月13日,TCL集团正式申报,更名为TCL科技集团。在此之前,TCL创始人、董事长李东生接受了新浪科技在内的媒体采访,解释TCL集团更名源起, 【详细】

微软CEO大方展示自用的Surface Duo:带有两个5.6英寸显示屏

去年10月,微软宣布了其首款Android设备,即Surface Duo。最近,微软CEO纳德拉在公开场合大方地展示了自用的Surface Duo。雅虎财经总编辑 【详细】

面板业或将迎来新竞争风口 面板巨头跨界布局电竞显示屏

2018年至今,面板厂商产能持续扩充,而作为显示面板主流应用的手机和彩电需求端市场疲软,供需失衡,产能过剩,主流LCD面板价格一路下跌。2 【详细】

微信朋友圈屏蔽支付宝集五福?

1月13日,一年一度的支付宝集五福活动正式开始了,除了AR扫福字、蚂蚁森林浇水、沾福卡等传统玩法,还新增了全家福,家庭组队可以赢得最高4 【详细】


联系我们:435 203 49@qq.com
科技新闻网版权