我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
可能重复:
你最喜欢的分析工具是什么(适用于C++)
是否有任何好的工具来分析混合了C和C++的源代码.有什么优点和缺点,你使用过哪些,并建议使用.请不要给我一个谷歌工具列表.我也可以这样做,我想要的是利用使用这些工具的人的个人经验并了解他们的利弊.
提前致谢.
如何在Visual Studio 2008中使用分析器?
我知道配置属性 - >链接器 - >高级 - >配置文件(/ PROFILE)中的构建选项,但我找不到任何有关使用它的任何内容,只有我能够找到的文章似乎只适用于旧版本的Visual Studio(例如,大多数人说要转到Build-> Profile来调出配置文件对话框,但在2008年没有这样的菜单项).
这是因为Visual Studio 2008不包含探查器,如果它在哪里,它的文档在哪里?
我正在寻找一个用于本机C++的分析器.它当然不一定是免费的,但成本会影响购买决策.这是为了商业工作,所以我不能使用个人或学术许可副本.
我正在寻找的主要功能是:
我使用过英特尔的VTune和Compuware的Devpartner性能分析社区版.
VTune似乎非常强大,但它有一个陡峭的学习曲线.它也非常"模块化",所以你必须弄清楚你需要购买哪些部件.
DevPartner PACE非常易于使用,并提供所有关键功能,但它只进行了45天的试用.许可版本(Visual C++ BoundsChecker Suite的DevPartner)大约1400美元一个座位,这是可行的,但有点高imo.
什么是原生C++的优秀剖析器和为什么?
为了使程序具有高效缓存,所使用的数据应该线性存储吗?
因此,我使用线性分配器将数据放入blob中,而不是动态分配.这是否应该提高性能?我该怎么做才能进一步提高缓存效率?
我知道这些问题不具体,但我不知道如何解释......
哪些程序可以帮助我分析缓存命中/未命中?
我想在速度和准确性方面写出好的陈述.如果我没记错这一行:b=(a+1)*a产生一个比这更好的程序:b=(a^2+a).
这只是一个例子,可能是错的,但现在没关系,问题是:我在哪里可以找到科学计算的良好实践纲要?
是否有任何工具可以提供程序大部分执行时间所用的直方图?
这是在visual studio 2008中使用c ++的项目.