大发极速彩app 网投app平台 大发二分快3投注 万博代理提款 大发3d投注 大发代理申请指南 3分排列3app 万博代理要求是什么 广西快3是合法的吗 谁有北京快3微信群 河北快3跨度怎么算 贵州快3大小如何计算 万博彩票代理反点 大发分分pk10走势 吉林快3跨度怎么算 新疆快3遗漏号码查询 辽宁快3人工预测 大发2分彩app 极速排列3网址 大发代理要求是什么 江西11选5平台 万博网代理 新疆快3点数计划 新万博代理返点多少 大发分分彩计划 uu快3app 贵州快3在线计划网 湖北快3每天多少期 uu快3直播 3分3d官网

内容字号:默认大号超大号

段落设置:取消段首缩进段首缩进

字体设置:切换到微软雅黑切换到宋体

业界资讯软件之家
Win10之家WP之家
iPhone之家iPad之家
安卓之家数码之家
评测中心智能设备
精准搜索请尝试:精确搜索

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

2020/1/14 9:00:49来源:开源中国作者:局长责编:骑士评论:

计划于 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。

相关文章

关键词:PythonFedoraLinux

IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。

Copyright (C)RuanMei.com, All Rights Reserved.

软媒公司版权所有