我在 Ubuntu 上,我正在开发一个计算机视觉应用程序(光流),我正在使用 valgrind 对代码进行一些分析。分析后,我发现 shared_ptr 占用了 74% 的应用程序。请找到使用 shared_ptr 的附加代码。我正在为此寻找优化。除此之外,sprintf 也很耗时,openMP 线程也很吃力。我真的很想知道 sprintft 和 openMP 的成本......
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) ) );
}