gpt4 book ai didi

c++ - 在不同的 Visual Studio 平台上运行时间不同?

转载 作者:行者123 更新时间:2023-11-28 06:37:47 32 4
gpt4 key购买 nike

我在不同VS平台下跑同一个项目,时间如下:

  • VS2010 - x64:114 毫秒
  • VS2010 - x32:1,078 毫秒
  • VS2013 - x64:112 毫秒
  • VS2013 - x32:84 毫秒

所以我有以下问题:

  1. 不同 VS 平台下时间差异很大是否正常?
  2. 我应该指望什么时间?

其他信息:

  • 所有都在 Release模式下运行,无需调试 (Ctrl+F5)。
  • 所有的时间都已经经过多次计算得到了平均。
  • 所有测试都在同一台 PC 上进行。

最佳答案

这是个好问题。我们刚刚对非常少的代码进行了大量此类测试。固然是在UNIX下,但是原理和问题都是一样的。

32 位 VS2010 结果令人惊讶,但我会猜测原因。而是对代码运行分析器。这会告诉你所有的时间都花在了哪里。然后你可以比较那个热点不同版本的汇编语言输出,答案必然会出现。

并回答您的两个具体问题:

时间保证除非您可以控制硬件规范和目标系统上运行的其他软件,否则无法保证时间。

编译器的时间变化该时间可能因平台、编译器和编译器版本而异。但是,通过使用探查器,您可以确保您拥有的时间关键代码与任何特定构建一样好。

引用资料

  1. 在 Windows 下进行分析: http://msdn.microsoft.com/en-us/library/ms182372.aspx
  2. 关于优化 C++ 和 asm 的文档:http://www.agner.org/optimize/
  3. 跳过前 20 分钟: https://www.youtube.com/watch?v=rX0ItVEVjHc迈克阿克顿展示了不同编译器之间汇编语言输出的差异并讨论优化技术。

关于c++ - 在不同的 Visual Studio 平台上运行时间不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522445/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com