C++程序:调整下链接顺序,也可以优化性能

1 引言

        在一篇比较早的名为《Producing Wrong Data Without Doing Anything Obviously Wrong!》的程序性能测试的文章中提到:

The measurement bias due to link order is significant.(链接顺序导致的偏差非常大)

Changing link order also caused measurement bias on the simulator.(更改链接顺序也会导致模拟器上的测量偏差)

         而且,在不改代码的情况下,调整不同的编译顺序,对程序的性能影响居然能在5%以上。很是吃惊!那反过来,我们就可以就编译顺序的优化来提升程序的性能。

2 原文地址

        原文章的链接地址:

 https://users.cs.northwestern.edu/~robby/courses/322-2013-spring/mytkowicz-wrong-data.pdf

3 性能测试示例

        非专业人员不好测出真实可靠的数据,还是引用原文中的测试数据。

 

 

        这张图是探索链接顺序对程序加速的影响。为了获得这些数据,作者编译了程序33次;第一次使用默认链接顺序(由make文件指定),第二次使用字母链接顺序(即.o文件以字母顺序链接),剩下的随机使用生成的链接顺序。图2(a)中的点(x,y)表示尝试的第x个链接顺序,O3的加速比为y。对于每一点,分别用O2和O3进行了五次跑步;得出的平均值在95%的区间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值