首页 / 知识
关于c ++:配置文件引导的优化(C)
2023-04-14 17:42:00

profile-guided optimization (C)有人知道这个编译器功能吗? 海湾合作委员会似乎对此表示支持。 它是如何工作的? 潜在收益是多少? 在哪种情况下很好? 内循环? (这个问题是特定的,而不是一般的优化,谢谢) 它通过放置额外的代码来计算每个代码路径的使用次数来工作。当您第二次编译时,编译器将使用以前只能猜测的有关程序执行的知识。 PGO可以采取以下措施:
在测试之前,您永远不会真正知道这些东西有多少帮助。 当我编译x264(我正在从事的项目)时,PGO的速度提高了5%,我们有一个内置的系统(使fprofiled)。在某些情况下,它提供了很好的自由速度提升,并且可能在与x264不同的应用程序中有更多帮助,而这些应用程序很少由手写组装组成。 杰森的建议是正确的。您将获得的最佳加速来自"发现",即让O(n2)算法滑入某个位置的内部循环,或者可以将某些计算缓存在昂贵的函数之外。 与PGO可以触发的微优化相比,这些是最大的赢家。完成该级别的优化后,PGO可能会提供帮助。但是,我们从来没有碰到太多运气-仪器的成本是如此之高,以至于我们的应用变得越来越慢(几个数量级)。 我喜欢将Intel VTune用作探查器,主要是因为与仪器探查器相比,它无创性,而探查器会改变行为。 优化的有趣之处在于,在最不可能的地方发现了速度提升。 这也是您需要分析器的原因,而不是猜测速度问题在哪里。
我建议从探查器(如果使用GCC,则为 |
最新内容
相关内容
linux支持管道的命令?
linux支持管道的命令?,通信,标准,系统,信息,地方,数据,管道,环境,设备,工具,Linux下Grep命令的详细使用方法?查找包含teacher文本的所有行并打linux进入编译器命令?
linux进入编译器命令?,系统,代码,环境,网上,基础,工作,工具,信息,时间,地址,linux终端下如何进行C语言编译1、在Linux下面,如果要编译一个C语言Python语言支持编程方式有哪些
Python语言支持编程方式有哪些,数据,设计,中心,代码,第三,网站,人工智能,平台,位置,培训,Python是一种跨平台的计算机程序设计语言,是一个高层如何优化 Python
如何优化 Python,代码,项目,情况,在线,技术,电脑,大规模,合法,策略,培训,我最喜欢Python的一点就是它可以让你一步一步地优化你的代码。比如优化 Python 程序的内存占用
优化 Python 程序的内存占用,代码,数据,情况,培训,对象,字典,内存,垃圾,程序,机制,Python的垃圾回收机制通过引用计数来决定一个对象要不要被如何提速优化python代码?
如何提速优化python代码?,代码,时间,数据,新增,写法,包装,情况,下来,面临,工作,Python是一种脚本语言,相比C/C++这样的编译语言,在效率和性能方Python的额外支持
Python的额外支持,新增,名字,工作,意外,代码,培训,包装,环境,属性,函数,1.语法糖上面这段代码看起来似乎已经不能再精简了,Python于是提供了一关于 Python 配置文件的使用方法
关于 Python 配置文件的使用方法,代码,灵活,项目,名字,培训,模块,程序,方式,内容,用户,很多项目对配置文件的使用做法是:配置文件写在一个或python 编译器
python 编译器,代码,培训,统一,异常,对象,字节,文件,编译器,类型,结果,执行pythondemo.py后,将会启动Python的解释器,然后将demo.py编译成一个python支持r语言吗?
python支持r语言吗?,代码,名称,培训,官网,第一,语言,对象,字符串,方法,后缀,python中可以支持r语言。python提供了一个模块rpy2,可以较好地完python的配置文件怎样写?
python的配置文件怎样写?,数据,检测,名字,培训,类型,浮点,函数,列表,存在,文件,python的配置文件这样写:一、创建配置文件在D盘建立一个配置文python支持多继承吗
python支持多继承吗,培训,代码,不了,上边,函数,属性,例子,父亲,定义,母亲,python多继承单继承有时候可能满足不了我们所需的所以我们就会遇到