我在Ubuntu上,我正在研究计算机视觉应用程序(光学流程),并且正在使用valgrind对代码进行分析。 分析后,我发现shared_ptr占据了应用程序的74%。请在附件中找到使用shared_ptr的代码。我正在寻找一个优化。除此之外,sprintf也花费了很多时间,而openMP线程也吃了很多。我真的想知道sprinft,和OpenMP成本...Shared_Ptr我的应用程序的性能
int main(int argc, char *argv[])
{
//QApplication a(argc, argv);
omp_set_dynamic(0);
omp_set_num_threads(4);
double t1, t2;
// ------------- Initialization: Frames. --------------
// Load first image
char imFName[1024];
sprintf(imFName, "%s/img_%08i.png", imPath.c_str(), imIndex);
ifstream fileExists(imFName);
if (!fileExists)
{
printf("First image %s/img_%08i.png could not be loaded!", imPath.c_str(), imIndex);
return -1;
}
QImagePtr prevImg;
QImagePtr curImg(new QImage(QString(imFName)));
}
这并不足以让我们做任何事情。 “ZtAbsoluteSystemItem”是做什么的? – 2013-03-11 10:25:31
要了解shared_ptr是否是问题,请将分析结果与本机指针和unique_ptr进行比较。 – 2013-03-11 10:27:34
@TonyTheLion只是初始化摄像头参数。 – Andre 2013-03-11 10:28:57