由VS2005构建的C#和C ++项目组成的VS解决方案优于转换为VS2008的相同解决方案(发布模式)。我已经仔细检查了未正确转换设置的已知错误的优化设置。 虽然性能差异不大但仍然值得注意。任何想法是什么原因导致性能差异? 提前感谢您的回复!
答案 0 :(得分:0)
如果不知道代码是什么以及哪些开关被发送到编译器,则无法完全回答。
仅使用不同版本的VS重新编译,不应该改变C#性能。如果您在同一台计算机上同时使用,则它们将使用相同版本的.NET Framework来执行。就C ++而言,编译器会在VS版本之间进行更改,因此perf并不总是相同。他们很可能对优化器进行了更改,这些更改会对您的代码执行得更糟,但对大多数其他代码更好。他们也可以调整编译器的指令调度程序,以考虑更现代的“平均”CPU。 VS2008还引入了许多C ++合规性修复 - 可能有一个缩小了编译器必须优化的空间。