从纳秒级优化谈CPU眼里的好代码.pdf

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CCPPPP--SSuummmmiitt C++ Summit 2020 从纳秒级优化谈CPU 眼里的好代码 CPP-Summit 2020 张银奎 • Raymond Zhang • 20年编程经历 • 格蠹科技 • 2003.5 ~ 2016.12 INTEL • 2005年参加第一届C++大会 • 《异常处理得与失》 • 《软件调试》作者 • + 《格蠹汇编》 • 译作 • 《21世纪机器人》 • 《机器学习》 • 《数据挖掘原理》 • 《人工智能——求解复杂问题的方法和策略》 • 《观止——微软创建NT和未来的夺命狂奔》 • 《现代x86汇编语言程序编程》 苏轼 : “问汝平生功业 ,黄州惠州儋州。” c0 299792.458km/s CCPPPP--SSuummmmiitt 1纳秒时间里光在真空中只可以行进大约30CM CCPPPP--SSuummmmiitt 问题 1: CPU执行下面两条语句的速度一样么? A B * 0.01; A B / 100.0; float ge_mul_div(int count) CCPPPP--SSuummmmiitt { int ret 0; uint64_t start, end; float sum 0; start __rdtsc(); for (int n 0; n count; n++) sum + (n*0.01); end __rdtsc(); cout sum of i*0.01 count took end - start ticks. sum endl; sum 0; start __rdtsc(); for (int n 0; n count; n++) sum + (n / 100.0); end __rdtsc(); cout sum of i/ 100.0 count took end - start ticks. sum endl; return sum; } CCPPPP--SSuummmmiitt 实验 1 • 把循 环 变量 i与 0 .0 1相乘 1百万次 用 时大 约 8毫秒 • 把循 环 变量 i除以 100 .0 , 1百万次 用 时大 约 12毫秒 • 把 i / 100 .0改为等价 的 I * 0 .0 1可 以提 高速度 ( 12 -8)/ 12 = 33%

文档评论(0)

wendangchuan + 关注
实名认证
内容提供者

高级工程师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年09月22日上传了高级工程师

1亿VIP精品文档

相关文档