有没有工具可以对程序进行别名分析,并告诉你由于潜在的指针混叠,gcc / g++必须在哪里生成次优的指令序列?
发布于 2010-01-06 02:38:46
在过去,我在分析器的帮助下跟踪了一些案例的混叠速度减慢。一些游戏控制台分析器会突出显示导致大量load-hit-store penalties的代码部分-这经常会发生,因为编译器假设某些指针有别名,并且必须生成额外的加载指令。一旦你知道了它们出现的那部分代码,你就可以从程序集回溯到源代码,看看什么可能被认为是别名,并根据需要添加"restict“(或其他技巧,以避免额外的加载)。
但是,我不确定是否有任何免费可用的分析器可以让您了解这种级别的详细信息。
这种方法的另一个好处是,您只需要花时间检查那些实际上会降低代码速度的情况。
https://stackoverflow.com/questions/2006163
复制相似问题