我正在重写一些S3TC算法,在分析我正在测试的优化时,我使用的是vs2010。在我写完代码后,决定在平台工具集v141上对其进行分析。克隆单独的解决方案,并将项目文件作为原始的克隆,并将解决方案加载到vs2017中。重定向的项目到平台工具集v141,Windows 10,清理和重建一切,做了几次.
版本的性能下降导致了版本的性能下降,而debug版本的值与vs2010调试版本非常相似。释放版本的测定值下降到11%,并保持不变。检查了项目属性中的优化。一切都和vs2010完全一样。在此之后,我重新定位到平台工具集v100,离开Windows 10,重新构建所有的一切。分析结果与vs2010分析结果相同。回到v141,成绩下降了11%。这说明平台工具集v141比v100平台工具集具有更低的c/c++编译器效率。
以前有人遇到过这种情况,并发现了新一代编译器出现这种行为的原因吗?
有没有做过任何预处理来对这两种代码进行文件和比较,并找出缺少什么v141?
这是微软编译器团队优秀程序员的垮台,还是我在这里遗漏了什么?
发布于 2018-09-26 18:36:28
最近,针对CPU中投机性处决的攻击已经出现在新闻中,著名的例子是幽灵和崩溃。
解决这些问题的一种方法是在编译器中。
“以下是微软迄今所取得的成果的总结:
·在较新的硅上使用Windows 10 (带有Skylake、Kabylake或新CPU的2016年代的PC机),基准测试显示出个位数的减速,但我们预计大多数用户不会注意到变化,因为这些百分比是以毫秒为单位的。
·随着Windows 10在旧硅(具有Haswell或旧CPU的2015年代PC机)上运行,一些基准测试显示出更大的减速,我们预计一些用户会注意到系统性能的下降。
·随着Windows 8和Windows 7在旧硅(具有Haswell或旧CPU的2015年代PC)上运行,我们预计大多数用户会发现系统性能下降。
·任何硅上的Windows,特别是在任何IO密集型应用程序中,当您启用缓解措施以隔离Windows Server实例中的不受信任代码时,会显示出更显着的性能影响。这就是为什么您希望仔细评估每个Windows Server实例不受信任代码的风险,并在您的环境中平衡安全性和性能折衷。“
因此,使用包含这些缓解措施的编译器重新编译的程序很可能会受到很小的性能影响。
https://stackoverflow.com/questions/52523850
复制相似问题