EXE全球经济放缓

EXE global slowdown

本文关键字:EXE      更新时间:2023-10-16

我有一个包含Fortran和C++代码的exe,该代码最近被修改为链接到一些自定义静态库。 exe 现在在每个函数中的运行速度都比以前慢得多(~ 因子 2),即使它在测试运行中没有调用任何新代码。 已在探查器中检查调用图和函数命中计数,并验证未调用新代码的断言。

在链接时,现在有许多由新代码引起的"多重定义"警告。 但是,优化仍处于启用状态,并且未修改其他编译器或环境设置。 exe 不会明显大于以前,并且两次运行中的内存占用量相同。

任何想法可能导致这种情况?

该问题是由螺旋式上升的包含链引起的,其中优化在调用链下游的某些模块中无意中关闭。 在这些模块中没有优化是无关紧要的,直到链接标头,这是代码的性能关键部分。 由于构建顺序的更改,过去包含这些标头的优化模块不再包含这些标头。

相关文章:
  • 没有找到相关文章