У меня есть этот основной код OpenCV:
#include "opencv2/opencv.hpp"
int main(){
cv::Mat img = cv::imread("/home/luca/Documents/IMG_20161031_162242.jpg", cv::IMREAD_GRAYSCALE);
if(!img.data)
std::cerr<<"Error reading image"<<std::endl;
return 0;
}
Я хочу профилировать это, чтобы сделать cv::imread
параллельно (и попробуйте сделать то же самое со многими другими функциями.
чтение этот В статье, что я должен сделать для профилирования времени совместно используемой библиотеки (как opencv в моем случае), я должен:
1) Скомпилируйте свою общую библиотеку (libmylib.so) в режиме отладки (-g). нет
-pg. 2) экспортировать LD_PROFILE_OUTPUT =pwd
3) экспорт LD_PROFILE = libmylib.so 4) rm -f $ LD_PROFILE.profile 4) выполнить ваш
программа, которая загружает libmylib.so 5) sprof PATH-TO-LIB / $ LD_PROFILE
$ LD_PROFILE.profile -p> log 6) Смотреть журнал.
У меня есть несколько вопросов:
cv::imread
?cmake -DCMAKE_BUILD_TYPE=DEBUG ...
включает в себя -g
(на самом деле я так не думаю). чтение Вот Я мог бы сделать это путем редактирования CMakeLists.txt
с:set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
Но я не знаю, где его установить CMakeLists.txt
Задача ещё не решена.
Других решений пока нет …