C++ 什么';s更快:OpenCV垫还是标准指针?

C++ 什么';s更快:OpenCV垫还是标准指针?,c++,performance,pointers,opencv,C++,Performance,Pointers,Opencv,我有一个(C++)程序,我需要做一些矩阵乘法(小-3x3或6x6最多)。我正在使用OpenCV来实现这一点 此外,我的程序使用标准指针构建并使用3D查找表。我想知道我是否也应该使用OpenCV来构建这些指针,或者使用标准指针是否会更快或者使用更少的内存?或者,既然我#包含了OpenCV头,这真的不重要吗 在我的程序中使用这两种方法是否都是不好的编程实践?一般来说,对于这些与性能相关的问题,最好对这两种方法的代码进行基准测试。你试过那样做吗?@shuttle87我不完全明白你的意思——我以前从未这

我有一个(C++)程序,我需要做一些矩阵乘法(小-3x3或6x6最多)。我正在使用OpenCV来实现这一点

此外,我的程序使用标准指针构建并使用3D查找表。我想知道我是否也应该使用OpenCV来构建这些指针,或者使用标准指针是否会更快或者使用更少的内存?或者,既然我
#包含了
OpenCV头,这真的不重要吗


在我的程序中使用这两种方法是否都是不好的编程实践?

一般来说,对于这些与性能相关的问题,最好对这两种方法的代码进行基准测试。你试过那样做吗?@shuttle87我不完全明白你的意思——我以前从未这样做过。你的意思是写一个同时做这两件事的程序,看看cpu时间有什么不同吗?我建议问一个分析器,有多少运行时间是由矩阵乘法造成的。它可能只是一小部分。通常很难猜测代码的哪一部分占用了大量时间。@awilds首先查看tgmath建议的一些分析工具。想到Callgrind,还有其他工具。这将让您找到程序大部分执行时间都花在哪里。这样做之后,如果发现某段代码的性能有问题,就对不同的备选方案进行基准测试。您希望仅隔离代码的该部分(或尽可能接近该部分),然后执行多次重复的多次运行。看看: