我在 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) ) );
}