我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
如何在Visual Studio 2008中使用分析器?
我知道配置属性 - >链接器 - >高级 - >配置文件(/ PROFILE)中的构建选项,但我找不到任何有关使用它的任何内容,只有我能够找到的文章似乎只适用于旧版本的Visual Studio(例如,大多数人说要转到Build-> Profile来调出配置文件对话框,但在2008年没有这样的菜单项).
这是因为Visual Studio 2008不包含探查器,如果它在哪里,它的文档在哪里?
查看代码运行速度的方法是性能分析.有它的工具等,但我想知道代码速度的因素是什么.
例如,我被告知图像编辑软件将使用按位运算而不是整数变量来计算它们的东西,因为它更快.
因此,与binairy相比,这必须意味着使用整数和其他原始类型需要更多的步骤来计算.
必须有其他的东西,但我没有足够的经验,如何操作系统连接到您的硬件和许多编码语言的内部工作,以了解什么.
所以我在这里问:你知道是什么影响了代码的速度吗?
没有程序一定的速度.
我是新手,正在努力学习.
我需要分析一个程序,看看是否需要对性能进行任何更改.我怀疑有需要,但先测量是要走的路.这不是那个程序,但它说明了我遇到的问题:
#include <stdio.h>
int main (int argc, char** argv)
{
  FILE* fp = fopen ("trivial.c", "r");
  if (fp)
  {
    char line[80];
    while (fgets (line, 80, fp))
      printf (line);
    fclose (fp);
  }
  return 0;
}
这是我用它做的:
% gcc trivial.c -pg -o trivial
% ./trivial
...
% gprof trivial gmon.out
当然,这是一个微不足道的计划,但我认为它会在分析雷达上产生某种昙花一现.它没有:
                                  called/total       parents 
index  %time    self descendents  called+self    name       index
                                  called/total       children
                0.00        0.00       1/1           __start [1704]
[105]    0.0    0.00        0.00       1         _main [105]
-----------------------------------------------
  %   cumulative   self              self     total           
 time   seconds …