2011-05-10 65 views
0

由VS2005构建的包含C#和C++项目的VS解决方案胜过转换为VS2008(发布模式)的相同解决方案。我已经仔细检查了设置未正确转换的已知错误的优化设置。 虽然性能差异并不大,但仍然值得注意。任何想法的原因可能是性能的差异? 在此先感谢您的回复!VS2005二进制表现比VS2008更好二进制

回答

0

如果不知道代码是什么以及将哪些开关发送到编译器,就无法完全回答。

C#性能不应该仅仅通过重新编译VS的不同版本而改变。如果你们在同一台机器上,他们将使用相同版本的.NET Framework来执行。

就C++而言,编译器会在VS版本之间进行更改,因此perf并不总是相同的。他们很可能会对优化器进行更改,而这种优化器在您的代码中执行得更糟,但对于其他代码更好。他们也可以调整编译器的指令调度程序来考虑更现代的“平均”CPU。 VS2008还引入了很多C++合规性修补程序 - 可能会减少编译器需要优化的空间。