0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Fedora 32系统性能提升,Python脚本运行速度提高

汽车玩家 来源:开源中国 作者:局长 2020-01-14 09:51 次阅读

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    56

    文章

    4798

    浏览量

    84805
收藏 人收藏

    评论

    相关推荐

    单臂螺旋天线:提升无线通信系统性能的关键

    深圳探测器|单臂螺旋天线:提升无线通信系统性能的关键
    的头像 发表于 12-02 09:05 235次阅读

    华纳云:VFS在提升文件系统性能方面的具体实践

    VFS(Virtual File System)通过提供统一的接口和抽象层,使得操作系统能够以高效的方式管理和访问不同的文件系统。以下是一些VFS在提升文件系统性能方面的具体实践示例:
    的头像 发表于 11-27 15:59 197次阅读

    PCIe延迟对系统性能的影响

    随着技术的发展,计算机系统性能的要求越来越高。PCIe作为连接处理器、内存、存储和其他外围设备的关键接口,其性能直接影响到整个系统的表现。PCIe延迟,作为衡量数据传输效率的重要指标
    的头像 发表于 11-26 15:14 516次阅读

    SSD硬盘对系统性能的影响

    随着科技的不断进步,存储设备也在不断地更新换代。固态硬盘(SSD)作为一种新型的存储设备,相较于传统的机械硬盘(HDD),在性能上有着显著的提升。 1. 启动速度 SSD硬盘的启动速度
    的头像 发表于 11-23 09:36 383次阅读

    对比Python与Java编程语言

    使得编写代码更加灵活,但也可能导致运行时错误。 Java 语法相对冗长,需要显式声明变量类型,增加了代码的可读性和安全性。 静态类型系统在编译时进行类型检查,减少了运行时错误。 二、性能
    的头像 发表于 11-15 09:31 348次阅读

    如何优化DCS系统性能

    工作状态。选择高性能的处理器、大容量内存、高速硬盘以及可靠的通讯模块,以提高系统运行速度和响应能力。对于老化或故障的设备,及时更换或修理。 硬件参数设置 :通过合理设置硬件参数和优化
    的头像 发表于 11-13 09:19 542次阅读

    @视觉工程师丨15分钟上手《AIDI3.2脚本开发教程》视频,请查收!

    AIDI有什么系统性地进阶开发教程?AIDI调用Python脚本的基本原理是什么?常见的Python异常如何处理?区域计算工具有哪些常用案例?……为帮助广大视觉工程师及开发者更好地掌握
    的头像 发表于 11-09 01:06 270次阅读
    @视觉工程师丨15分钟上手《AIDI3.2<b class='flag-5'>脚本</b>开发教程》视频,请查收!

    利用Python脚本登录到交换机并创建VLAN

    本文将详细介绍如何利用Python脚本登录到交换机并创建VLAN。
    的头像 发表于 08-12 17:59 594次阅读

    ESP32-S2的循环运行速度比ESP32慢很多是怎么回事?

    我想测试一下ESP32-S2的sqrtf的运算速度, 结果发现运行速度特别慢,sqrtf()需要3微秒以上,占用了接近1000个时钟周期. 然后又写了一个循环的测试.发现也很慢. 1000次循环
    发表于 06-21 17:11

    Anthropic 发布Claude 3.5 Sonnet模型运行速度是Claude 3 Opus的两倍

    Anthropic 发布Claude 3.5 Sonnet最新模型 新模型在推理、知识和编码能力评估方面超越了以前的版本和竞争对手GPT 4o模型,同时其运行速度是Claude 3 Opus的两倍
    的头像 发表于 06-21 15:43 840次阅读
    Anthropic 发布Claude 3.5 Sonnet模型<b class='flag-5'>运行速度</b>是Claude 3 Opus的两倍

    STM32上电启动后,会有几率出现程序运行速度变慢的现象,是为什么?

    大家好: 请教个问题,我上电启动后,会有几率出现程序运行速度变慢的现象,比如定时器1s闪烁一次灯,变成了5s闪烁一次。重新上电或软复位后正常。 感觉是启动时,STM32有几率出现时钟没配置正确
    发表于 04-08 07:47

    stm32cubeide debug和release单片机运行速度不一样,在哪里进行控制的?

    stm32cubeide debug模式和release模式单片机运行速度不一样,在哪里进行控制的
    发表于 03-28 09:08

    TRIZ如何在机器人电机控制设计中提高系统性能

    作为机器人的核心部件之一,电机控制系统性能直接决定了机器人的运动性能、响应速度以及工作效率。因此,提升机器人电机控制设计的
    的头像 发表于 03-11 15:41 420次阅读

    通过Python脚本实现WIFI密码的自动猜解

    本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的自动猜解。
    的头像 发表于 01-25 10:46 3501次阅读
    通过<b class='flag-5'>Python</b><b class='flag-5'>脚本</b>实现WIFI密码的自动猜解

    G120电机运行速度怎么设置?

    G120电机运行速度怎么设置? 例如我在触摸屏=1是高速=2中速=3是低速。 这个速度怎么设置?
    发表于 01-09 07:37