Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改样本计数,或使用gprof更改频率?10.0毫秒的ubuntu.c++; 我正在使用Eclipse,我用OpenCV库编写了一个C++代码,当我对它进行剖析时,他给了我0%次,_C++_Opencv_Profiling_Profile_Gprof - Fatal编程技术网

如何更改样本计数,或使用gprof更改频率?10.0毫秒的ubuntu.c++; 我正在使用Eclipse,我用OpenCV库编写了一个C++代码,当我对它进行剖析时,他给了我0%次,

如何更改样本计数,或使用gprof更改频率?10.0毫秒的ubuntu.c++; 我正在使用Eclipse,我用OpenCV库编写了一个C++代码,当我对它进行剖析时,他给了我0%次,,c++,opencv,profiling,profile,gprof,C++,Opencv,Profiling,Profile,Gprof,每个样本计为0.01秒。 没有时间积累 % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 2 0.00 0.00 cvScalar(double, double, double, double) 0.00

每个样本计为0.01秒。 没有时间积累

  %   cumulative   self              self     total           
 time   seconds   seconds    calls  Ts/call  Ts/call  name    
  0.00      0.00     0.00        2     0.00     0.00  cvScalar(double, double, double, double)
  0.00      0.00     0.00        1     0.00     0.00   _GLOBAL__sub_I__ZN3Cam11getPositionEP9_IplImage
  0.00      0.00     0.00        1     0.00     0.00  Oeffnecamera(CvScalar, CvScalar)
  0.00      0.00     0.00        1     0.00     0.00  Berechnepositon(CvScalar, CvScalar)
  0.00      0.00     0.00        1     0.00     0.00  handleVersionKratky(std::string)
  0.00      0.00     0.00        1     0.00     0.00  __static_initialization_and_destruction_0(int, int)
  0.00      0.00     0.00        1     0.00     0.00  Cam::getPosition(_IplImage*)
  0.00      0.00     0.00        1     0.00     0.00  Cam::GetThresholdedImage(_IplImage*, CvScalar, CvScalar)
  0.00      0.00     0.00        1     0.00     0.00  std::operator|(std::_Ios_Openmode, std::_Ios_Openmode)
问题是,0.01秒的时间比这要长得多。 我的简介是:

g++ -pg Name.cpp
than ./a.out

tahn gprof -b a.out > a.txt
than cut a.txt.

如何将样本计数更改为0.0001秒或如何更改频率

感谢您提供更多信息。在您的情况下,我建议使用一个好的探查器,它可以对挂钟时间进行采样(不只是像
gprof
这样的CPU时间),对整个调用堆栈进行采样(不只是像
gprof
这样的程序计数器),并按代码行报告包含的时间百分比(不只是像大多数探查器那样按函数)。其中之一是不是免费的,但你可以使用试用版。请记住,您需要挂钟(不是CPU)百分比(不是绝对百分比)、包含百分比(不是自身百分比)、每行百分比(不是每函数百分比)

许多人认为他们在寻找一种“慢功能”。 不,你需要理解的是,在更一般的意义上,为什么这个项目花费了大量的时间。 您只能通过按代码行查看挂钟时间的包含百分比来获取该信息


此外,我建议您从堆栈采样器获得的输出将提供与调用图一样好或更好的表示。调用图往往有很多不相关的细节(百分比较低的框)等。

您在第一次编辑时说这是紧急的。到底是什么问题?如果你需要计时数据,你可以把
for(i=0;ihi,问题是我必须用gprof查看代码中每个函数花费的时间。我现在需要知道哪个函数花费的时间最多,并且必须对它进行优化。我不能用for(i=0;我有大学的学士学位期末作业,我必须尽快完成,这就是我需要它的原因。我很同情你。通常我不会批评人,但是教授gprof并要求学生使用它的教授,排除所有其他工具和方法,对任何人都没有帮助。谢谢你IKE你的答案,我已经安装了变焦,我会与它一起工作,我希望它会帮助。我会写回来我得到它。最好的再见,再次,我正在调整配置一个普通的C++代码与变焦,但我不明白,它的工作总差异作为GPROF或其他探查器,我已经阅读了缩放介绍,但没有好的信息如何配置一个通常C++代码,KANN:你帮我把它设置为在运行时获取堆栈样本。你可以调整采样频率。一旦它获得了一组堆栈样本,它就为每个函数都有一个蝴蝶视图,一方有调用方,另一方有CALLIES。它可以显示一行代码,包含百分比的时间。例如:如果在函数栏中有一个对函数Foo的调用,那么该调用的自时间可以忽略不计,但是如果它在30%的堆栈样本上,那么该调用(不是函数,是函数调用)问题是在30%的总时间。问题是,我必须在代码中运行。我不能在变焦中运行它,比如与其他程序,例如WiSePrF,I DD:PrF记录HeloRoLL.DCP,比PARF记录它。在这里我必须用缩放代码运行代码,我的C++代码太快。首先我将尝试一个普通的HaloOrL.D.CPP,当我得到它时,我将运行M。y cpp代码。我必须在哪里运行helloword.cpp?我必须在终端中运行它吗?然后启动zoo gui,或者我可以开始放大终端并开始分析?但是我不能运行代码?