diff --git a/apps/display_levels/Makefile b/apps/display_levels/Makefile index 9e17f84c7b60f22fa315a0602216ceab2fcfa5d7..5ac3a9fe2d72c8cbc8b973db931afa408a4a53db 100644 --- a/apps/display_levels/Makefile +++ b/apps/display_levels/Makefile @@ -12,6 +12,7 @@ display_levels: display_levels.o $(CCP) $^ -o $@ -L$(API_PATH)/build -lsandbox $(DEP_SANDBOX) %.o: %.cpp + #$(CCP) $(DBG_GPROF) $(CFLAGS) -I$(API_PATH)/inc -c $< -o $@ $(CCP) $(CFLAGS) -I$(API_PATH)/inc -c $< -o $@ run: diff --git a/apps/display_levels/display_levels.cpp b/apps/display_levels/display_levels.cpp index 64c7b966c221d7058bb80f4fc5fa7366a5f2179a..dc3ed3c1156342fb578927fd2cf41ae6a267d7a4 100644 --- a/apps/display_levels/display_levels.cpp +++ b/apps/display_levels/display_levels.cpp @@ -12,7 +12,7 @@ int main(){ char *sandbox_conf_file = (char*)"../../sandbox_conf.yaml"; // Debug -// char * sandbox_conf_file = (char *)"../../../sandbox_conf.yaml"; + //char * sandbox_conf_file = (char *)"../../../sandbox_conf.yaml"; if(sandbox.loadConfigFrom(sandbox_conf_file)){ std::cout << "Failed to load the configuration" << std::endl; @@ -34,7 +34,7 @@ int main(){ */ void displayLevels(Sandbox &sandbox){ - float sandboxHeight = 0.2f; + float sandboxHeight = 0.17f; // top => distance from camera to the top of the sandbox float top = sandbox.getProjection()->getDistanceTopSandbox(); @@ -54,20 +54,20 @@ void displayLevels(Sandbox &sandbox){ /* std::chrono::milliseconds start_ms = std::chrono::duration_cast< std::chrono::milliseconds >( std::chrono::system_clock::now().time_since_epoch() ); int cpt_frame = 0; -*/ +*/ do{ //for(int i=0; i<200; i++){ sandbox.captureFrame(); sandbox.getDepthFrame().copyTo(new_depth); new_depth.copyTo( depth_cache, (cv::abs(depth_cache-new_depth) > DEPTH_MARGIN_ERROR) ); - colorizeDepth(depth_cache, top-sandboxHeight, sandboxHeight).copyTo(colorized); + colorizeDepth(depth_cache, top, sandboxHeight).copyTo(colorized); cv::cvtColor(colorized, res, CV_RGB2BGR); sandbox.adjustProjection(res).copyTo(res); cv::imshow(windowName, res); - /* +/* cpt_frame++; std::chrono::milliseconds now_ms = std::chrono::duration_cast< std::chrono::milliseconds >( std::chrono::system_clock::now().time_since_epoch() ); if(now_ms-start_ms > std::chrono::milliseconds(1000)){ @@ -75,7 +75,7 @@ void displayLevels(Sandbox &sandbox){ cpt_frame = 0; start_ms = std::chrono::duration_cast< std::chrono::milliseconds >( std::chrono::system_clock::now().time_since_epoch() ); } - */ +*/ //} } while (cv::waitKey(10) != ESCAPE_CHAR); diff --git a/apps/display_levels/gprof/gmon.out b/apps/display_levels/gprof/gmon.out index 9864ddbb4760c6db673cfdbef6cd033d584e5b52..05c695b8209ee5835bfdec7ecf8f77147d5b837e 100644 Binary files a/apps/display_levels/gprof/gmon.out and b/apps/display_levels/gprof/gmon.out differ diff --git a/apps/display_levels/gprof/gprof (copy).output b/apps/display_levels/gprof/gprof (copy).output new file mode 100644 index 0000000000000000000000000000000000000000..e73afdc63748ea7ca6638d43e5dee6a332afac13 --- /dev/null +++ b/apps/display_levels/gprof/gprof (copy).output @@ -0,0 +1,555 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 27.39 0.43 0.43 29275971 0.00 0.00 floatToColor(float, float, float) + 17.20 0.70 0.27 29275971 0.00 0.00 float& cv::Mat::at<float>(int, int) + 13.69 0.92 0.22 87827913 0.00 0.00 cv::Vec<double, 4>::operator[](int) + 11.47 1.10 0.18 87827913 0.00 0.00 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) + 9.87 1.25 0.16 87827913 0.00 0.00 cv::Vec<unsigned char, 3>::operator[](int) + 7.01 1.36 0.11 29276817 0.00 0.00 cv::Matx<double, 4, 1>::Matx() + 5.73 1.45 0.09 141 0.00 0.01 colorizeDepth(cv::Mat, float, float) + 3.18 1.50 0.05 29275971 0.00 0.00 cv::Scalar_<double>::Scalar_(double, double, double, double) + 2.55 1.54 0.04 29276112 0.00 0.00 cv::Vec<double, 4>::Vec() + 0.64 1.55 0.01 141 0.00 0.00 bool std::chrono::operator><long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + 0.64 1.56 0.01 bool YAML::RegEx::IsValidSource<YAML::StreamCharSource>(YAML::StreamCharSource const&) const + 0.32 1.57 0.01 141 0.00 0.00 cv::Mat::Mat(cv::Mat const&) + 0.32 1.57 0.01 3 0.00 0.00 cv::Mat::Mat(cv::Size_<int>, int) + 0.00 1.57 0.00 5660 0.00 0.00 cv::Mat::release() + 0.00 1.57 0.00 5484 0.00 0.00 operator new(unsigned long, void*) + 0.00 1.57 0.00 4659 0.00 0.00 cv::Mat::~Mat() + 0.00 1.57 0.00 3809 0.00 0.00 cv::_InputArray::init(int, void const*) + 0.00 1.57 0.00 3118 0.00 0.00 cv::MatStep::operator[](int) + 0.00 1.57 0.00 3110 0.00 0.00 cv::MatStep::operator[](int) const + 0.00 1.57 0.00 2680 0.00 0.00 cv::Size_<int>::Size_() + 0.00 1.57 0.00 2539 0.00 0.00 cv::_InputArray::~_InputArray() + 0.00 1.57 0.00 1989 0.00 0.00 cv::MatSize::MatSize(int*) + 0.00 1.57 0.00 1989 0.00 0.00 cv::MatStep::MatStep() + 0.00 1.57 0.00 1693 0.00 0.00 cv::Size_<int>::Size_(int, int) + 0.00 1.57 0.00 1411 0.00 0.00 cv::_InputArray::_InputArray() + 0.00 1.57 0.00 987 0.00 0.00 cv::MatExpr::~MatExpr() + 0.00 1.57 0.00 705 0.00 0.00 cv::_OutputArray::_OutputArray(cv::Mat&) + 0.00 1.57 0.00 705 0.00 0.00 cv::_OutputArray::~_OutputArray() + 0.00 1.57 0.00 564 0.00 0.00 std::chrono::duration<long, std::ratio<1l, 1000l> >::count() const + 0.00 1.57 0.00 423 0.00 0.00 cv::_InputArray::_InputArray(cv::MatExpr const&) + 0.00 1.57 0.00 423 0.00 0.00 cv::Mat::Mat() + 0.00 1.57 0.00 330 0.00 0.00 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<long, void>(long const&) + 0.00 1.57 0.00 282 0.00 0.00 cv::_InputArray::init(int, void const*, cv::Size_<int>) + 0.00 1.57 0.00 282 0.00 0.00 cv::_InputArray::_InputArray(cv::Mat const&) + 0.00 1.57 0.00 282 0.00 0.00 cv::_InputArray::_InputArray(double const&) + 0.00 1.57 0.00 282 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() + 0.00 1.57 0.00 282 0.00 0.00 cv::Size_<int>::operator=(cv::Size_<int> const&) + 0.00 1.57 0.00 282 0.00 0.00 cv::MatExpr::operator cv::Mat() const + 0.00 1.57 0.00 189 0.00 0.00 std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const + 0.00 1.57 0.00 189 0.00 0.00 std::chrono::duration<long, std::ratio<1l, 1000000000l> >::count() const + 0.00 1.57 0.00 189 0.00 0.00 std::enable_if<std::chrono::__is_duration<std::chrono::duration<long, std::ratio<1l, 1000l> > >::value, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::duration_cast<std::chrono::duration<long, std::ratio<1l, 1000l> >, long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) + 0.00 1.57 0.00 189 0.00 0.00 std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) + 0.00 1.57 0.00 148 0.00 0.00 cv::Mat::create(int, int, int) + 0.00 1.57 0.00 143 0.00 0.00 cv::String::String(char const*) + 0.00 1.57 0.00 143 0.00 0.00 cv::String::~String() + 0.00 1.57 0.00 142 0.00 0.00 cv::Mat_<float>::~Mat_() + 0.00 1.57 0.00 141 0.00 0.00 cv::Mat::Mat(int, int, int) + 0.00 1.57 0.00 141 0.00 0.00 cv::Mat::operator=(cv::Mat const&) + 0.00 1.57 0.00 141 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) + 0.00 1.57 0.00 141 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) + 0.00 1.57 0.00 141 0.00 0.00 cv::Scalar_<double>::Scalar_(double) + 0.00 1.57 0.00 141 0.00 0.00 cv::Mat::type() const + 0.00 1.57 0.00 141 0.00 0.00 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<int, void>(int const&) + 0.00 1.57 0.00 141 0.00 0.00 bool std::chrono::operator< <long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + 0.00 1.57 0.00 141 0.00 0.00 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + 0.00 1.57 0.00 3 0.00 0.00 cv::MatSize::operator()() const + 0.00 1.57 0.00 1 0.00 0.00 _GLOBAL__sub_I_main + 0.00 1.57 0.00 1 0.00 1.56 displayLevels(Sandbox&) + 0.00 1.57 0.00 1 0.00 0.00 __static_initialization_and_destruction_0(int, int) + 0.00 1.57 0.00 1 0.00 0.00 Projection::getDistanceTopSandbox() + 0.00 1.57 0.00 1 0.00 0.00 cv::Mat::Mat(cv::Mat&&) + 0.00 1.57 0.00 1 0.00 0.00 Sandbox::getProjection() + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2018 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.64% of 1.57 seconds + +index % time self children called name + <spontaneous> +[1] 99.4 0.00 1.56 main [1] + 0.00 1.56 1/1 displayLevels(Sandbox&) [2] +----------------------------------------------- + 0.00 1.56 1/1 main [1] +[2] 99.4 0.00 1.56 1 displayLevels(Sandbox&) [2] + 0.09 1.45 141/141 colorizeDepth(cv::Mat, float, float) [3] + 0.01 0.00 141/141 bool std::chrono::operator><long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [12] + 0.01 0.00 141/141 cv::Mat::Mat(cv::Mat const&) [14] + 0.01 0.00 3/3 cv::Mat::Mat(cv::Size_<int>, int) [15] + 0.00 0.00 705/705 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 705/705 cv::_OutputArray::~_OutputArray() [37] + 0.00 0.00 426/4659 cv::Mat::~Mat() [25] + 0.00 0.00 423/2539 cv::_InputArray::~_InputArray() [30] + 0.00 0.00 423/987 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 282/282 cv::_InputArray::_InputArray(cv::Mat const&) [43] + 0.00 0.00 282/282 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [45] + 0.00 0.00 189/189 std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const [48] + 0.00 0.00 189/189 std::enable_if<std::chrono::__is_duration<std::chrono::duration<long, std::ratio<1l, 1000l> > >::value, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::duration_cast<std::chrono::duration<long, std::ratio<1l, 1000l> >, long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [50] + 0.00 0.00 143/143 cv::String::String(char const*) [53] + 0.00 0.00 143/143 cv::String::~String() [54] + 0.00 0.00 142/142 cv::Mat_<float>::~Mat_() [55] + 0.00 0.00 141/282 cv::MatExpr::operator cv::Mat() const [47] + 0.00 0.00 141/423 cv::_InputArray::_InputArray(cv::MatExpr const&) [39] + 0.00 0.00 141/141 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [58] + 0.00 0.00 141/141 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<int, void>(int const&) [61] + 0.00 0.00 141/141 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [63] + 0.00 0.00 3/3 cv::MatSize::operator()() const [64] + 0.00 0.00 1/1 Sandbox::getProjection() [69] + 0.00 0.00 1/1 Projection::getDistanceTopSandbox() [67] + 0.00 0.00 1/1 cv::Mat::Mat(cv::Mat&&) [68] +----------------------------------------------- + 0.09 1.45 141/141 displayLevels(Sandbox&) [2] +[3] 98.1 0.09 1.45 141 colorizeDepth(cv::Mat, float, float) [3] + 0.43 0.20 29275971/29275971 floatToColor(float, float, float) [4] + 0.27 0.00 29275971/29275971 float& cv::Mat::at<float>(int, int) [5] + 0.22 0.00 87827913/87827913 cv::Vec<double, 4>::operator[](int) [6] + 0.18 0.00 87827913/87827913 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [8] + 0.16 0.00 87827913/87827913 cv::Vec<unsigned char, 3>::operator[](int) [9] + 0.00 0.00 141/141 cv::Scalar_<double>::Scalar_(double) [16] + 0.00 0.00 564/987 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 564/2539 cv::_InputArray::~_InputArray() [30] + 0.00 0.00 282/423 cv::_InputArray::_InputArray(cv::MatExpr const&) [39] + 0.00 0.00 282/282 cv::_InputArray::_InputArray(double const&) [44] + 0.00 0.00 141/282 cv::MatExpr::operator cv::Mat() const [47] + 0.00 0.00 141/141 cv::Mat::Mat(int, int, int) [56] + 0.00 0.00 141/4659 cv::Mat::~Mat() [25] +----------------------------------------------- + 0.43 0.20 29275971/29275971 colorizeDepth(cv::Mat, float, float) [3] +[4] 40.1 0.43 0.20 29275971 floatToColor(float, float, float) [4] + 0.05 0.15 29275971/29275971 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] +----------------------------------------------- + 0.27 0.00 29275971/29275971 colorizeDepth(cv::Mat, float, float) [3] +[5] 17.2 0.27 0.00 29275971 float& cv::Mat::at<float>(int, int) [5] +----------------------------------------------- + 0.22 0.00 87827913/87827913 colorizeDepth(cv::Mat, float, float) [3] +[6] 13.7 0.22 0.00 87827913 cv::Vec<double, 4>::operator[](int) [6] +----------------------------------------------- + 0.05 0.15 29275971/29275971 floatToColor(float, float, float) [4] +[7] 12.7 0.05 0.15 29275971 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] + 0.04 0.11 29275971/29276112 cv::Vec<double, 4>::Vec() [10] +----------------------------------------------- + 0.18 0.00 87827913/87827913 colorizeDepth(cv::Mat, float, float) [3] +[8] 11.5 0.18 0.00 87827913 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [8] +----------------------------------------------- + 0.16 0.00 87827913/87827913 colorizeDepth(cv::Mat, float, float) [3] +[9] 9.9 0.16 0.00 87827913 cv::Vec<unsigned char, 3>::operator[](int) [9] +----------------------------------------------- + 0.00 0.00 141/29276112 cv::Scalar_<double>::Scalar_(double) [16] + 0.04 0.11 29275971/29276112 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] +[10] 9.6 0.04 0.11 29276112 cv::Vec<double, 4>::Vec() [10] + 0.11 0.00 29276817/29276817 cv::Matx<double, 4, 1>::Matx() [11] +----------------------------------------------- + 0.11 0.00 29276817/29276817 cv::Vec<double, 4>::Vec() [10] +[11] 7.0 0.11 0.00 29276817 cv::Matx<double, 4, 1>::Matx() [11] +----------------------------------------------- + 0.01 0.00 141/141 displayLevels(Sandbox&) [2] +[12] 0.6 0.01 0.00 141 bool std::chrono::operator><long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [12] + 0.00 0.00 141/141 bool std::chrono::operator< <long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [62] +----------------------------------------------- + <spontaneous> +[13] 0.6 0.01 0.00 bool YAML::RegEx::IsValidSource<YAML::StreamCharSource>(YAML::StreamCharSource const&) const [13] +----------------------------------------------- + 0.01 0.00 141/141 displayLevels(Sandbox&) [2] +[14] 0.3 0.01 0.00 141 cv::Mat::Mat(cv::Mat const&) [14] + 0.00 0.00 2260/3110 cv::MatStep::operator[](int) const [28] + 0.00 0.00 2260/3118 cv::MatStep::operator[](int) [27] + 0.00 0.00 1130/1989 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 1130/1989 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.01 0.00 3/3 displayLevels(Sandbox&) [2] +[15] 0.3 0.01 0.00 3 cv::Mat::Mat(cv::Size_<int>, int) [15] + 0.00 0.00 3/1989 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 3/1989 cv::MatStep::MatStep() [32] + 0.00 0.00 3/148 cv::Mat::create(int, int, int) [52] +----------------------------------------------- + 0.00 0.00 141/141 colorizeDepth(cv::Mat, float, float) [3] +[16] 0.0 0.00 0.00 141 cv::Scalar_<double>::Scalar_(double) [16] + 0.00 0.00 141/29276112 cv::Vec<double, 4>::Vec() [10] +----------------------------------------------- + 0.00 0.00 1/5660 cv::Mat::operator=(cv::Mat&&) [116] + 0.00 0.00 425/5660 cv::Mat::operator=(cv::Mat const&) [57] + 0.00 0.00 5234/5660 cv::Mat::~Mat() [25] +[23] 0.0 0.00 0.00 5660 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 5/5484 void __gnu_cxx::new_allocator<YAML::Scanner::FLOW_MARKER>::construct<YAML::Scanner::FLOW_MARKER, YAML::Scanner::FLOW_MARKER const&>(YAML::Scanner::FLOW_MARKER*, YAML::Scanner::FLOW_MARKER const&) [759] + 0.00 0.00 5/5484 void std::_Construct<std::pair<YAML::detail::node*, bool>, std::pair<YAML::detail::node*, bool> >(std::pair<YAML::detail::node*, bool>*, std::pair<YAML::detail::node*, bool>&&) [2783] + 0.00 0.00 35/5484 void std::_Construct<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >(std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >*, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >&&) [2781] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >::construct<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >(std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >*, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >&&) [836] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<YAML::Scanner::IndentMarker*>::construct<YAML::Scanner::IndentMarker*, YAML::Scanner::IndentMarker*>(YAML::Scanner::IndentMarker**, YAML::Scanner::IndentMarker*&&) [800] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<YAML::CollectionType::value>::construct<YAML::CollectionType::value, YAML::CollectionType::value const&>(YAML::CollectionType::value*, YAML::CollectionType::value const&) [727] + 0.00 0.00 57/5484 void std::_Construct<YAML::RegEx, char const&>(YAML::RegEx*, char const&) [2776] + 0.00 0.00 68/5484 void __gnu_cxx::new_allocator<YAML::RegEx>::construct<YAML::RegEx, YAML::RegEx const&>(YAML::RegEx*, YAML::RegEx const&) [745] + 0.00 0.00 120/5484 void std::_Construct<std::pair<YAML::detail::node*, YAML::detail::node*>, std::pair<YAML::detail::node*, YAML::detail::node*> >(std::pair<YAML::detail::node*, YAML::detail::node*>*, std::pair<YAML::detail::node*, YAML::detail::node*>&&) [2782] + 0.00 0.00 130/5484 void __gnu_cxx::new_allocator<std::pair<YAML::detail::node*, YAML::detail::node*> >::construct<std::pair<YAML::detail::node*, YAML::detail::node*>, YAML::detail::node*, YAML::detail::node*>(std::pair<YAML::detail::node*, YAML::detail::node*>*, YAML::detail::node*&&, YAML::detail::node*&&) [878] + 0.00 0.00 130/5484 void __gnu_cxx::new_allocator<std::pair<YAML::detail::node*, bool> >::construct<std::pair<YAML::detail::node*, bool>, std::pair<YAML::detail::node*, bool> >(std::pair<YAML::detail::node*, bool>*, std::pair<YAML::detail::node*, bool>&&) [884] + 0.00 0.00 160/5484 void __gnu_cxx::new_allocator<YAML::Scanner::SimpleKey>::construct<YAML::Scanner::SimpleKey, YAML::Scanner::SimpleKey const&>(YAML::Scanner::SimpleKey*, YAML::Scanner::SimpleKey const&) [765] + 0.00 0.00 255/5484 void __gnu_cxx::new_allocator<YAML::Token>::construct<YAML::Token, YAML::Token const&>(YAML::Token*, YAML::Token const&) [752] + 0.00 0.00 295/5484 void std::_Rb_tree<std::shared_ptr<YAML::detail::node>, std::shared_ptr<YAML::detail::node>, std::_Identity<std::shared_ptr<YAML::detail::node> >, std::less<std::shared_ptr<YAML::detail::node> >, std::allocator<std::shared_ptr<YAML::detail::node> > >::_M_construct_node<std::shared_ptr<YAML::detail::node> const&>(std::_Rb_tree_node<std::shared_ptr<YAML::detail::node> >*, std::shared_ptr<YAML::detail::node> const&) [2755] + 0.00 0.00 295/5484 void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::shared_ptr<YAML::detail::node> > >::construct<std::shared_ptr<YAML::detail::node>, std::shared_ptr<YAML::detail::node> const&>(std::shared_ptr<YAML::detail::node>*, std::shared_ptr<YAML::detail::node> const&) [848] + 0.00 0.00 330/5484 void __gnu_cxx::new_allocator<YAML::detail::node*>::construct<YAML::detail::node*, YAML::detail::node*>(YAML::detail::node**, YAML::detail::node*&&) [790] + 0.00 0.00 395/5484 void __gnu_cxx::new_allocator<YAML::Token>::construct<YAML::Token, YAML::Token>(YAML::Token*, YAML::Token&&) [753] + 0.00 0.00 804/5484 void std::_Construct<YAML::RegEx, YAML::RegEx const&>(YAML::RegEx*, YAML::RegEx const&) [2775] + 0.00 0.00 2280/5484 void __gnu_cxx::new_allocator<char>::construct<char, char>(char*, char&&) [890] +[24] 0.0 0.00 0.00 5484 operator new(unsigned long, void*) [24] +----------------------------------------------- + 0.00 0.00 141/4659 colorizeDepth(cv::Mat, float, float) [3] + 0.00 0.00 426/4659 displayLevels(Sandbox&) [2] + 0.00 0.00 565/4659 cv::Mat_<float>::~Mat_() [55] + 0.00 0.00 566/4659 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [45] + 0.00 0.00 2961/4659 cv::MatExpr::~MatExpr() [35] +[25] 0.0 0.00 0.00 4659 cv::Mat::~Mat() [25] + 0.00 0.00 5234/5660 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 423/3809 cv::_InputArray::_InputArray(cv::Mat const&) [43] + 0.00 0.00 423/3809 cv::_InputArray::_InputArray(cv::MatExpr const&) [39] + 0.00 0.00 423/3809 cv::_OutputArray::_OutputArray<cv::Vec<unsigned char, 3> >(cv::Mat_<cv::Vec<unsigned char, 3> >&) [115] + 0.00 0.00 988/3809 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 1552/3809 cv::_InputArray::_InputArray() [34] +[26] 0.0 0.00 0.00 3809 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 4/3118 cv::Mat::Mat(cv::Mat&&) [68] + 0.00 0.00 4/3118 cv::Mat::operator=(cv::Mat&&) [116] + 0.00 0.00 850/3118 cv::Mat::operator=(cv::Mat const&) [57] + 0.00 0.00 2260/3118 cv::Mat::Mat(cv::Mat const&) [14] +[27] 0.0 0.00 0.00 3118 cv::MatStep::operator[](int) [27] +----------------------------------------------- + 0.00 0.00 850/3110 cv::Mat::operator=(cv::Mat const&) [57] + 0.00 0.00 2260/3110 cv::Mat::Mat(cv::Mat const&) [14] +[28] 0.0 0.00 0.00 3110 cv::MatStep::operator[](int) const [28] +----------------------------------------------- + 0.00 0.00 282/2680 cv::_InputArray::_InputArray(double const&) [44] + 0.00 0.00 423/2680 cv::_InputArray::_InputArray(cv::Mat const&) [43] + 0.00 0.00 423/2680 cv::_InputArray::_InputArray(cv::MatExpr const&) [39] + 0.00 0.00 1552/2680 cv::_InputArray::_InputArray() [34] +[29] 0.0 0.00 0.00 2680 cv::Size_<int>::Size_() [29] +----------------------------------------------- + 0.00 0.00 423/2539 displayLevels(Sandbox&) [2] + 0.00 0.00 564/2539 colorizeDepth(cv::Mat, float, float) [3] + 0.00 0.00 1552/2539 cv::_OutputArray::~_OutputArray() [37] +[30] 0.0 0.00 0.00 2539 cv::_InputArray::~_InputArray() [30] +----------------------------------------------- + 0.00 0.00 1/1989 cv::Mat::Mat(cv::Mat&&) [68] + 0.00 0.00 3/1989 cv::Mat::Mat(cv::Size_<int>, int) [15] + 0.00 0.00 145/1989 cv::Mat::Mat(int, int, int) [56] + 0.00 0.00 710/1989 cv::Mat::Mat() [40] + 0.00 0.00 1130/1989 cv::Mat::Mat(cv::Mat const&) [14] +[31] 0.0 0.00 0.00 1989 cv::MatSize::MatSize(int*) [31] +----------------------------------------------- + 0.00 0.00 1/1989 cv::Mat::Mat(cv::Mat&&) [68] + 0.00 0.00 3/1989 cv::Mat::Mat(cv::Size_<int>, int) [15] + 0.00 0.00 145/1989 cv::Mat::Mat(int, int, int) [56] + 0.00 0.00 710/1989 cv::Mat::Mat() [40] + 0.00 0.00 1130/1989 cv::Mat::Mat(cv::Mat const&) [14] +[32] 0.0 0.00 0.00 1989 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 282/1693 cv::_InputArray::_InputArray(double const&) [44] + 0.00 0.00 1411/1693 cv::MatSize::operator()() const [64] +[33] 0.0 0.00 0.00 1693 cv::Size_<int>::Size_(int, int) [33] +----------------------------------------------- + 0.00 0.00 423/1411 cv::_OutputArray::_OutputArray<cv::Vec<unsigned char, 3> >(cv::Mat_<cv::Vec<unsigned char, 3> >&) [115] + 0.00 0.00 988/1411 cv::_OutputArray::_OutputArray(cv::Mat&) [36] +[34] 0.0 0.00 0.00 1411 cv::_InputArray::_InputArray() [34] + 0.00 0.00 1552/2680 cv::Size_<int>::Size_() [29] + 0.00 0.00 1552/3809 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 423/987 displayLevels(Sandbox&) [2] + 0.00 0.00 564/987 colorizeDepth(cv::Mat, float, float) [3] +[35] 0.0 0.00 0.00 987 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 2961/4659 cv::Mat::~Mat() [25] +----------------------------------------------- + 0.00 0.00 705/705 displayLevels(Sandbox&) [2] +[36] 0.0 0.00 0.00 705 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 988/1411 cv::_InputArray::_InputArray() [34] + 0.00 0.00 988/3809 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 705/705 displayLevels(Sandbox&) [2] +[37] 0.0 0.00 0.00 705 cv::_OutputArray::~_OutputArray() [37] + 0.00 0.00 1552/2539 cv::_InputArray::~_InputArray() [30] +----------------------------------------------- + 0.00 0.00 282/564 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [63] + 0.00 0.00 282/564 bool std::chrono::operator< <long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [62] +[38] 0.0 0.00 0.00 564 std::chrono::duration<long, std::ratio<1l, 1000l> >::count() const [38] +----------------------------------------------- + 0.00 0.00 141/423 displayLevels(Sandbox&) [2] + 0.00 0.00 282/423 colorizeDepth(cv::Mat, float, float) [3] +[39] 0.0 0.00 0.00 423 cv::_InputArray::_InputArray(cv::MatExpr const&) [39] + 0.00 0.00 423/2680 cv::Size_<int>::Size_() [29] + 0.00 0.00 423/3809 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 141/423 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [58] + 0.00 0.00 282/423 cv::MatExpr::operator cv::Mat() const [47] +[40] 0.0 0.00 0.00 423 cv::Mat::Mat() [40] + 0.00 0.00 710/1989 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 710/1989 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 141/330 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [63] + 0.00 0.00 189/330 std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [51] +[41] 0.0 0.00 0.00 330 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<long, void>(long const&) [41] +----------------------------------------------- + 0.00 0.00 282/282 cv::_InputArray::_InputArray(double const&) [44] +[42] 0.0 0.00 0.00 282 cv::_InputArray::init(int, void const*, cv::Size_<int>) [42] + 0.00 0.00 282/282 cv::Size_<int>::operator=(cv::Size_<int> const&) [46] +----------------------------------------------- + 0.00 0.00 282/282 displayLevels(Sandbox&) [2] +[43] 0.0 0.00 0.00 282 cv::_InputArray::_InputArray(cv::Mat const&) [43] + 0.00 0.00 423/2680 cv::Size_<int>::Size_() [29] + 0.00 0.00 423/3809 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 282/282 colorizeDepth(cv::Mat, float, float) [3] +[44] 0.0 0.00 0.00 282 cv::_InputArray::_InputArray(double const&) [44] + 0.00 0.00 282/2680 cv::Size_<int>::Size_() [29] + 0.00 0.00 282/1693 cv::Size_<int>::Size_(int, int) [33] + 0.00 0.00 282/282 cv::_InputArray::init(int, void const*, cv::Size_<int>) [42] +----------------------------------------------- + 0.00 0.00 282/282 displayLevels(Sandbox&) [2] +[45] 0.0 0.00 0.00 282 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [45] + 0.00 0.00 566/4659 cv::Mat::~Mat() [25] +----------------------------------------------- + 0.00 0.00 282/282 cv::_InputArray::init(int, void const*, cv::Size_<int>) [42] +[46] 0.0 0.00 0.00 282 cv::Size_<int>::operator=(cv::Size_<int> const&) [46] +----------------------------------------------- + 0.00 0.00 141/282 displayLevels(Sandbox&) [2] + 0.00 0.00 141/282 colorizeDepth(cv::Mat, float, float) [3] +[47] 0.0 0.00 0.00 282 cv::MatExpr::operator cv::Mat() const [47] + 0.00 0.00 282/423 cv::Mat::Mat() [40] +----------------------------------------------- + 0.00 0.00 189/189 displayLevels(Sandbox&) [2] +[48] 0.0 0.00 0.00 189 std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const [48] +----------------------------------------------- + 0.00 0.00 189/189 std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [51] +[49] 0.0 0.00 0.00 189 std::chrono::duration<long, std::ratio<1l, 1000000000l> >::count() const [49] +----------------------------------------------- + 0.00 0.00 189/189 displayLevels(Sandbox&) [2] +[50] 0.0 0.00 0.00 189 std::enable_if<std::chrono::__is_duration<std::chrono::duration<long, std::ratio<1l, 1000l> > >::value, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::duration_cast<std::chrono::duration<long, std::ratio<1l, 1000l> >, long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [50] + 0.00 0.00 189/189 std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [51] +----------------------------------------------- + 0.00 0.00 189/189 std::enable_if<std::chrono::__is_duration<std::chrono::duration<long, std::ratio<1l, 1000l> > >::value, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::duration_cast<std::chrono::duration<long, std::ratio<1l, 1000l> >, long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [50] +[51] 0.0 0.00 0.00 189 std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) [51] + 0.00 0.00 189/189 std::chrono::duration<long, std::ratio<1l, 1000000000l> >::count() const [49] + 0.00 0.00 189/330 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<long, void>(long const&) [41] +----------------------------------------------- + 0.00 0.00 3/148 cv::Mat::Mat(cv::Size_<int>, int) [15] + 0.00 0.00 145/148 cv::Mat::Mat(int, int, int) [56] +[52] 0.0 0.00 0.00 148 cv::Mat::create(int, int, int) [52] +----------------------------------------------- + 0.00 0.00 143/143 displayLevels(Sandbox&) [2] +[53] 0.0 0.00 0.00 143 cv::String::String(char const*) [53] +----------------------------------------------- + 0.00 0.00 143/143 displayLevels(Sandbox&) [2] +[54] 0.0 0.00 0.00 143 cv::String::~String() [54] +----------------------------------------------- + 0.00 0.00 142/142 displayLevels(Sandbox&) [2] +[55] 0.0 0.00 0.00 142 cv::Mat_<float>::~Mat_() [55] + 0.00 0.00 565/4659 cv::Mat::~Mat() [25] +----------------------------------------------- + 0.00 0.00 141/141 colorizeDepth(cv::Mat, float, float) [3] +[56] 0.0 0.00 0.00 141 cv::Mat::Mat(int, int, int) [56] + 0.00 0.00 145/1989 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 145/1989 cv::MatStep::MatStep() [32] + 0.00 0.00 145/148 cv::Mat::create(int, int, int) [52] +----------------------------------------------- + 0.00 0.00 141/141 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [59] +[57] 0.0 0.00 0.00 141 cv::Mat::operator=(cv::Mat const&) [57] + 0.00 0.00 850/3110 cv::MatStep::operator[](int) const [28] + 0.00 0.00 850/3118 cv::MatStep::operator[](int) [27] + 0.00 0.00 425/5660 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 141/141 displayLevels(Sandbox&) [2] +[58] 0.0 0.00 0.00 141 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [58] + 0.00 0.00 141/423 cv::Mat::Mat() [40] + 0.00 0.00 141/141 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [59] +----------------------------------------------- + 0.00 0.00 141/141 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [58] +[59] 0.0 0.00 0.00 141 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [59] + 0.00 0.00 141/141 cv::Mat::type() const [60] + 0.00 0.00 141/141 cv::Mat::operator=(cv::Mat const&) [57] +----------------------------------------------- + 0.00 0.00 141/141 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [59] +[60] 0.0 0.00 0.00 141 cv::Mat::type() const [60] +----------------------------------------------- + 0.00 0.00 141/141 displayLevels(Sandbox&) [2] +[61] 0.0 0.00 0.00 141 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<int, void>(int const&) [61] +----------------------------------------------- + 0.00 0.00 141/141 bool std::chrono::operator><long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [12] +[62] 0.0 0.00 0.00 141 bool std::chrono::operator< <long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [62] + 0.00 0.00 282/564 std::chrono::duration<long, std::ratio<1l, 1000l> >::count() const [38] +----------------------------------------------- + 0.00 0.00 141/141 displayLevels(Sandbox&) [2] +[63] 0.0 0.00 0.00 141 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) [63] + 0.00 0.00 282/564 std::chrono::duration<long, std::ratio<1l, 1000l> >::count() const [38] + 0.00 0.00 141/330 std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<long, void>(long const&) [41] +----------------------------------------------- + 0.00 0.00 3/3 displayLevels(Sandbox&) [2] +[64] 0.0 0.00 0.00 3 cv::MatSize::operator()() const [64] + 0.00 0.00 1411/1693 cv::Size_<int>::Size_(int, int) [33] +----------------------------------------------- + 0.00 0.00 1/1 __libc_csu_init [3169] +[65] 0.0 0.00 0.00 1 _GLOBAL__sub_I_main [65] + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [66] +----------------------------------------------- + 0.00 0.00 1/1 _GLOBAL__sub_I_main [65] +[66] 0.0 0.00 0.00 1 __static_initialization_and_destruction_0(int, int) [66] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[67] 0.0 0.00 0.00 1 Projection::getDistanceTopSandbox() [67] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[68] 0.0 0.00 0.00 1 cv::Mat::Mat(cv::Mat&&) [68] + 0.00 0.00 4/3118 cv::MatStep::operator[](int) [27] + 0.00 0.00 1/1989 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 1/1989 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[69] 0.0 0.00 0.00 1 Sandbox::getProjection() [69] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `<spontaneous>' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2018 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [65] _GLOBAL__sub_I_main (display_levels.cpp) [15] cv::Mat::Mat(cv::Size_<int>, int) [27] cv::MatStep::operator[](int) + [4] floatToColor(float, float, float) [68] cv::Mat::Mat(cv::Mat&&) [7] cv::Scalar_<double>::Scalar_(double, double, double, double) + [3] colorizeDepth(cv::Mat, float, float) [56] cv::Mat::Mat(int, int, int) [16] cv::Scalar_<double>::Scalar_(double) + [2] displayLevels(Sandbox&) [25] cv::Mat::~Mat() [69] Sandbox::getProjection() + [66] __static_initialization_and_destruction_0(int, int) (display_levels.cpp) [57] cv::Mat::operator=(cv::Mat const&) [60] cv::Mat::type() const + [67] Projection::getDistanceTopSandbox() [10] cv::Vec<double, 4>::Vec() [47] cv::MatExpr::operator cv::Mat() const + [26] cv::_InputArray::init(int, void const*) [6] cv::Vec<double, 4>::operator[](int) [64] cv::MatSize::operator()() const + [42] cv::_InputArray::init(int, void const*, cv::Size_<int>) [9] cv::Vec<unsigned char, 3>::operator[](int) [28] cv::MatStep::operator[](int) const + [43] cv::_InputArray::_InputArray(cv::Mat const&) [58] cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [13] bool YAML::RegEx::IsValidSource<YAML::StreamCharSource>(YAML::StreamCharSource const&) const + [39] cv::_InputArray::_InputArray(cv::MatExpr const&) [45] cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [48] std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const + [44] cv::_InputArray::_InputArray(double const&) [59] cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [49] std::chrono::duration<long, std::ratio<1l, 1000000000l> >::count() const + [34] cv::_InputArray::_InputArray() [55] cv::Mat_<float>::~Mat_() [38] std::chrono::duration<long, std::ratio<1l, 1000l> >::count() const + [30] cv::_InputArray::~_InputArray() [11] cv::Matx<double, 4, 1>::Matx() [50] std::enable_if<std::chrono::__is_duration<std::chrono::duration<long, std::ratio<1l, 1000l> > >::value, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::duration_cast<std::chrono::duration<long, std::ratio<1l, 1000l> >, long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) + [36] cv::_OutputArray::_OutputArray(cv::Mat&) [33] cv::Size_<int>::Size_(int, int) [51] std::chrono::duration<long, std::ratio<1l, 1000l> > std::chrono::__duration_cast_impl<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::ratio<1l, 1000000l>, long, true, false>::__cast<long, std::ratio<1l, 1000000000l> >(std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&) + [37] cv::_OutputArray::~_OutputArray() [29] cv::Size_<int>::Size_() [61] std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<int, void>(int const&) + [8] cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [46] cv::Size_<int>::operator=(cv::Size_<int> const&) [41] std::chrono::duration<long, std::ratio<1l, 1000l> >::duration<long, void>(long const&) + [5] float& cv::Mat::at<float>(int, int) [53] cv::String::String(char const*) [12] bool std::chrono::operator><long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + [52] cv::Mat::create(int, int, int) [54] cv::String::~String() [62] bool std::chrono::operator< <long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + [23] cv::Mat::release() [35] cv::MatExpr::~MatExpr() [63] std::common_type<std::chrono::duration<long, std::ratio<1l, 1000l> >, std::chrono::duration<long, std::ratio<1l, 1000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000l>, long, std::ratio<1l, 1000l> >(std::chrono::duration<long, std::ratio<1l, 1000l> > const&, std::chrono::duration<long, std::ratio<1l, 1000l> > const&) + [14] cv::Mat::Mat(cv::Mat const&) [31] cv::MatSize::MatSize(int*) [24] operator new(unsigned long, void*) + [40] cv::Mat::Mat() [32] cv::MatStep::MatStep() diff --git a/apps/display_levels/gprof/gprof.output b/apps/display_levels/gprof/gprof.output index 47d07280fa888af10afb59985b82cf6b64a792a5..88af9ed9a547b5284312d65a2fdc53fc6ac3ac8c 100644 --- a/apps/display_levels/gprof/gprof.output +++ b/apps/display_levels/gprof/gprof.output @@ -2,20 +2,60 @@ Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total - time seconds seconds calls Ts/call Ts/call name - 53.76 1.65 1.65 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) - 12.75 2.04 0.39 floatToColor(float, float, float) - 11.11 2.38 0.34 float& cv::Mat::at<float>(int, int) - 9.15 2.66 0.28 colorizeDepth(cv::Mat, float, float) - 4.90 2.81 0.15 cv::Size_<int>::Size_(int, int) - 2.94 2.90 0.09 cv::Matx<double, 4, 1>::Matx() - 1.47 2.94 0.05 cv::Vec<double, 4>::operator[](int) - 1.31 2.98 0.04 cv::Scalar_<double>::Scalar_(double, double, double, double) - 0.82 3.01 0.03 cv::Vec<unsigned char, 3>::operator[](int) - 0.65 3.03 0.02 cv::Size_<int>::Size_() - 0.49 3.04 0.02 cv::Vec<double, 4>::Vec() - 0.33 3.05 0.01 cv::Mat::release() - 0.33 3.06 0.01 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) + time seconds seconds calls s/call s/call name + 34.04 0.64 0.64 41526200 0.00 0.00 floatToColor(float, float, float) + 14.63 0.92 0.28 41526200 0.00 0.00 float& cv::Mat::at<float>(int, int) + 12.77 1.16 0.24 124578600 0.00 0.00 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) + 10.64 1.36 0.20 200 0.00 0.01 colorizeDepth(cv::Mat, float, float) + 7.98 1.51 0.15 124578600 0.00 0.00 cv::Vec<double, 4>::operator[](int) + 7.98 1.66 0.15 124578600 0.00 0.00 cv::Vec<unsigned char, 3>::operator[](int) + 4.79 1.75 0.09 41527400 0.00 0.00 cv::Matx<double, 4, 1>::Matx() + 2.66 1.80 0.05 41526200 0.00 0.00 cv::Scalar_<double>::Scalar_(double, double, double, double) + 1.60 1.83 0.03 200 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) + 1.06 1.85 0.02 __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int) + 0.80 1.86 0.02 41526400 0.00 0.00 cv::Vec<double, 4>::Vec() + 0.53 1.87 0.01 200 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) + 0.53 1.88 0.01 std::vector<YAML::RegEx, std::allocator<YAML::RegEx> >::begin() const + 0.00 1.88 0.00 8020 0.00 0.00 cv::Mat::release() + 0.00 1.88 0.00 6606 0.00 0.00 cv::Mat::~Mat() + 0.00 1.88 0.00 5484 0.00 0.00 operator new(unsigned long, void*) + 0.00 1.88 0.00 5402 0.00 0.00 cv::_InputArray::init(int, void const*) + 0.00 1.88 0.00 4416 0.00 0.00 cv::MatStep::operator[](int) + 0.00 1.88 0.00 4408 0.00 0.00 cv::MatStep::operator[](int) const + 0.00 1.88 0.00 3801 0.00 0.00 cv::Size_<int>::Size_() + 0.00 1.88 0.00 3601 0.00 0.00 cv::_InputArray::~_InputArray() + 0.00 1.88 0.00 2815 0.00 0.00 cv::MatSize::MatSize(int*) + 0.00 1.88 0.00 2815 0.00 0.00 cv::MatStep::MatStep() + 0.00 1.88 0.00 2401 0.00 0.00 cv::Size_<int>::Size_(int, int) + 0.00 1.88 0.00 2001 0.00 0.00 cv::_InputArray::_InputArray() + 0.00 1.88 0.00 1400 0.00 0.00 cv::MatExpr::~MatExpr() + 0.00 1.88 0.00 1000 0.00 0.00 cv::_OutputArray::_OutputArray(cv::Mat&) + 0.00 1.88 0.00 1000 0.00 0.00 cv::_OutputArray::~_OutputArray() + 0.00 1.88 0.00 600 0.00 0.00 cv::_InputArray::_InputArray(cv::MatExpr const&) + 0.00 1.88 0.00 600 0.00 0.00 cv::Mat::Mat() + 0.00 1.88 0.00 400 0.00 0.00 cv::_InputArray::init(int, void const*, cv::Size_<int>) + 0.00 1.88 0.00 400 0.00 0.00 cv::_InputArray::_InputArray(cv::Mat const&) + 0.00 1.88 0.00 400 0.00 0.00 cv::_InputArray::_InputArray(double const&) + 0.00 1.88 0.00 400 0.00 0.00 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() + 0.00 1.88 0.00 400 0.00 0.00 cv::Size_<int>::operator=(cv::Size_<int> const&) + 0.00 1.88 0.00 400 0.00 0.00 cv::MatExpr::operator cv::Mat() const + 0.00 1.88 0.00 207 0.00 0.00 cv::Mat::create(int, int, int) + 0.00 1.88 0.00 202 0.00 0.00 cv::String::String(char const*) + 0.00 1.88 0.00 202 0.00 0.00 cv::String::~String() + 0.00 1.88 0.00 201 0.00 0.00 cv::Mat_<float>::~Mat_() + 0.00 1.88 0.00 200 0.00 0.00 cv::Mat::Mat(cv::Mat const&) + 0.00 1.88 0.00 200 0.00 0.00 cv::Mat::Mat(int, int, int) + 0.00 1.88 0.00 200 0.00 0.00 cv::Mat::operator=(cv::Mat const&) + 0.00 1.88 0.00 200 0.00 0.00 cv::Scalar_<double>::Scalar_(double) + 0.00 1.88 0.00 200 0.00 0.00 cv::Mat::type() const + 0.00 1.88 0.00 3 0.00 0.00 cv::Mat::Mat(cv::Size_<int>, int) + 0.00 1.88 0.00 3 0.00 0.00 cv::MatSize::operator()() const + 0.00 1.88 0.00 1 0.00 0.00 _GLOBAL__sub_I_main + 0.00 1.88 0.00 1 0.00 1.85 displayLevels(Sandbox&) + 0.00 1.88 0.00 1 0.00 0.00 __static_initialization_and_destruction_0(int, int) + 0.00 1.88 0.00 1 0.00 0.00 Projection::getDistanceTopSandbox() + 0.00 1.88 0.00 1 0.00 0.00 cv::Mat::Mat(cv::Mat&&) + 0.00 1.88 0.00 1 0.00 0.00 Sandbox::getProjection() % the percentage of the total running time of the time program used by this function. @@ -49,3 +89,414 @@ Copyright (C) 2012-2018 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.53% of 1.88 seconds + +index % time self children called name + <spontaneous> +[1] 98.4 0.00 1.85 main [1] + 0.00 1.85 1/1 displayLevels(Sandbox&) [2] +----------------------------------------------- + 0.00 1.85 1/1 main [1] +[2] 98.4 0.00 1.85 1 displayLevels(Sandbox&) [2] + 0.20 1.61 200/200 colorizeDepth(cv::Mat, float, float) [3] + 0.03 0.01 200/200 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [12] + 0.00 0.00 1000/1000 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 1000/1000 cv::_OutputArray::~_OutputArray() [37] + 0.00 0.00 603/6606 cv::Mat::~Mat() [24] + 0.00 0.00 600/3601 cv::_InputArray::~_InputArray() [30] + 0.00 0.00 600/1400 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 400/400 cv::_InputArray::_InputArray(cv::Mat const&) [41] + 0.00 0.00 400/400 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [43] + 0.00 0.00 202/202 cv::String::String(char const*) [47] + 0.00 0.00 202/202 cv::String::~String() [48] + 0.00 0.00 201/201 cv::Mat_<float>::~Mat_() [49] + 0.00 0.00 200/400 cv::MatExpr::operator cv::Mat() const [45] + 0.00 0.00 200/600 cv::_InputArray::_InputArray(cv::MatExpr const&) [38] + 0.00 0.00 200/200 cv::Mat::Mat(cv::Mat const&) [50] + 0.00 0.00 3/3 cv::MatSize::operator()() const [55] + 0.00 0.00 3/3 cv::Mat::Mat(cv::Size_<int>, int) [54] + 0.00 0.00 1/1 Sandbox::getProjection() [60] + 0.00 0.00 1/1 Projection::getDistanceTopSandbox() [58] + 0.00 0.00 1/1 cv::Mat::Mat(cv::Mat&&) [59] +----------------------------------------------- + 0.20 1.61 200/200 displayLevels(Sandbox&) [2] +[3] 96.3 0.20 1.61 200 colorizeDepth(cv::Mat, float, float) [3] + 0.64 0.16 41526200/41526200 floatToColor(float, float, float) [4] + 0.28 0.00 41526200/41526200 float& cv::Mat::at<float>(int, int) [5] + 0.24 0.00 124578600/124578600 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [6] + 0.15 0.00 124578600/124578600 cv::Vec<double, 4>::operator[](int) [8] + 0.15 0.00 124578600/124578600 cv::Vec<unsigned char, 3>::operator[](int) [9] + 0.00 0.00 200/200 cv::Scalar_<double>::Scalar_(double) [16] + 0.00 0.00 800/1400 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 800/3601 cv::_InputArray::~_InputArray() [30] + 0.00 0.00 400/600 cv::_InputArray::_InputArray(cv::MatExpr const&) [38] + 0.00 0.00 400/400 cv::_InputArray::_InputArray(double const&) [42] + 0.00 0.00 200/400 cv::MatExpr::operator cv::Mat() const [45] + 0.00 0.00 200/200 cv::Mat::Mat(int, int, int) [51] + 0.00 0.00 200/6606 cv::Mat::~Mat() [24] +----------------------------------------------- + 0.64 0.16 41526200/41526200 colorizeDepth(cv::Mat, float, float) [3] +[4] 42.3 0.64 0.16 41526200 floatToColor(float, float, float) [4] + 0.05 0.11 41526200/41526200 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] +----------------------------------------------- + 0.28 0.00 41526200/41526200 colorizeDepth(cv::Mat, float, float) [3] +[5] 14.6 0.28 0.00 41526200 float& cv::Mat::at<float>(int, int) [5] +----------------------------------------------- + 0.24 0.00 124578600/124578600 colorizeDepth(cv::Mat, float, float) [3] +[6] 12.8 0.24 0.00 124578600 cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [6] +----------------------------------------------- + 0.05 0.11 41526200/41526200 floatToColor(float, float, float) [4] +[7] 8.2 0.05 0.11 41526200 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] + 0.02 0.09 41526200/41526400 cv::Vec<double, 4>::Vec() [10] +----------------------------------------------- + 0.15 0.00 124578600/124578600 colorizeDepth(cv::Mat, float, float) [3] +[8] 8.0 0.15 0.00 124578600 cv::Vec<double, 4>::operator[](int) [8] +----------------------------------------------- + 0.15 0.00 124578600/124578600 colorizeDepth(cv::Mat, float, float) [3] +[9] 8.0 0.15 0.00 124578600 cv::Vec<unsigned char, 3>::operator[](int) [9] +----------------------------------------------- + 0.00 0.00 200/41526400 cv::Scalar_<double>::Scalar_(double) [16] + 0.02 0.09 41526200/41526400 cv::Scalar_<double>::Scalar_(double, double, double, double) [7] +[10] 5.6 0.02 0.09 41526400 cv::Vec<double, 4>::Vec() [10] + 0.09 0.00 41527400/41527400 cv::Matx<double, 4, 1>::Matx() [11] +----------------------------------------------- + 0.09 0.00 41527400/41527400 cv::Vec<double, 4>::Vec() [10] +[11] 4.8 0.09 0.00 41527400 cv::Matx<double, 4, 1>::Matx() [11] +----------------------------------------------- + 0.03 0.01 200/200 displayLevels(Sandbox&) [2] +[12] 2.1 0.03 0.01 200 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [12] + 0.01 0.00 200/200 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [14] + 0.00 0.00 200/600 cv::Mat::Mat() [39] +----------------------------------------------- + <spontaneous> +[13] 1.1 0.02 0.00 __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int) [13] +----------------------------------------------- + 0.01 0.00 200/200 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [12] +[14] 0.5 0.01 0.00 200 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [14] + 0.00 0.00 200/200 cv::Mat::type() const [53] + 0.00 0.00 200/200 cv::Mat::operator=(cv::Mat const&) [52] +----------------------------------------------- + <spontaneous> +[15] 0.5 0.01 0.00 std::vector<YAML::RegEx, std::allocator<YAML::RegEx> >::begin() const [15] +----------------------------------------------- + 0.00 0.00 200/200 colorizeDepth(cv::Mat, float, float) [3] +[16] 0.0 0.00 0.00 200 cv::Scalar_<double>::Scalar_(double) [16] + 0.00 0.00 200/41526400 cv::Vec<double, 4>::Vec() [10] +----------------------------------------------- + 0.00 0.00 1/8020 cv::Mat::operator=(cv::Mat&&) [107] + 0.00 0.00 602/8020 cv::Mat::operator=(cv::Mat const&) [52] + 0.00 0.00 7417/8020 cv::Mat::~Mat() [24] +[23] 0.0 0.00 0.00 8020 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 200/6606 colorizeDepth(cv::Mat, float, float) [3] + 0.00 0.00 603/6606 displayLevels(Sandbox&) [2] + 0.00 0.00 801/6606 cv::Mat_<float>::~Mat_() [49] + 0.00 0.00 802/6606 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [43] + 0.00 0.00 4200/6606 cv::MatExpr::~MatExpr() [35] +[24] 0.0 0.00 0.00 6606 cv::Mat::~Mat() [24] + 0.00 0.00 7417/8020 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 5/5484 void __gnu_cxx::new_allocator<YAML::Scanner::FLOW_MARKER>::construct<YAML::Scanner::FLOW_MARKER, YAML::Scanner::FLOW_MARKER const&>(YAML::Scanner::FLOW_MARKER*, YAML::Scanner::FLOW_MARKER const&) [750] + 0.00 0.00 5/5484 void std::_Construct<std::pair<YAML::detail::node*, bool>, std::pair<YAML::detail::node*, bool> >(std::pair<YAML::detail::node*, bool>*, std::pair<YAML::detail::node*, bool>&&) [2774] + 0.00 0.00 35/5484 void std::_Construct<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >(std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >*, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >&&) [2772] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >::construct<std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> > >(std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >*, std::unique_ptr<YAML::Scanner::IndentMarker, std::default_delete<YAML::Scanner::IndentMarker> >&&) [827] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<YAML::Scanner::IndentMarker*>::construct<YAML::Scanner::IndentMarker*, YAML::Scanner::IndentMarker*>(YAML::Scanner::IndentMarker**, YAML::Scanner::IndentMarker*&&) [791] + 0.00 0.00 40/5484 void __gnu_cxx::new_allocator<YAML::CollectionType::value>::construct<YAML::CollectionType::value, YAML::CollectionType::value const&>(YAML::CollectionType::value*, YAML::CollectionType::value const&) [718] + 0.00 0.00 57/5484 void std::_Construct<YAML::RegEx, char const&>(YAML::RegEx*, char const&) [2767] + 0.00 0.00 68/5484 void __gnu_cxx::new_allocator<YAML::RegEx>::construct<YAML::RegEx, YAML::RegEx const&>(YAML::RegEx*, YAML::RegEx const&) [736] + 0.00 0.00 120/5484 void std::_Construct<std::pair<YAML::detail::node*, YAML::detail::node*>, std::pair<YAML::detail::node*, YAML::detail::node*> >(std::pair<YAML::detail::node*, YAML::detail::node*>*, std::pair<YAML::detail::node*, YAML::detail::node*>&&) [2773] + 0.00 0.00 130/5484 void __gnu_cxx::new_allocator<std::pair<YAML::detail::node*, YAML::detail::node*> >::construct<std::pair<YAML::detail::node*, YAML::detail::node*>, YAML::detail::node*, YAML::detail::node*>(std::pair<YAML::detail::node*, YAML::detail::node*>*, YAML::detail::node*&&, YAML::detail::node*&&) [869] + 0.00 0.00 130/5484 void __gnu_cxx::new_allocator<std::pair<YAML::detail::node*, bool> >::construct<std::pair<YAML::detail::node*, bool>, std::pair<YAML::detail::node*, bool> >(std::pair<YAML::detail::node*, bool>*, std::pair<YAML::detail::node*, bool>&&) [875] + 0.00 0.00 160/5484 void __gnu_cxx::new_allocator<YAML::Scanner::SimpleKey>::construct<YAML::Scanner::SimpleKey, YAML::Scanner::SimpleKey const&>(YAML::Scanner::SimpleKey*, YAML::Scanner::SimpleKey const&) [756] + 0.00 0.00 255/5484 void __gnu_cxx::new_allocator<YAML::Token>::construct<YAML::Token, YAML::Token const&>(YAML::Token*, YAML::Token const&) [743] + 0.00 0.00 295/5484 void std::_Rb_tree<std::shared_ptr<YAML::detail::node>, std::shared_ptr<YAML::detail::node>, std::_Identity<std::shared_ptr<YAML::detail::node> >, std::less<std::shared_ptr<YAML::detail::node> >, std::allocator<std::shared_ptr<YAML::detail::node> > >::_M_construct_node<std::shared_ptr<YAML::detail::node> const&>(std::_Rb_tree_node<std::shared_ptr<YAML::detail::node> >*, std::shared_ptr<YAML::detail::node> const&) [2746] + 0.00 0.00 295/5484 void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::shared_ptr<YAML::detail::node> > >::construct<std::shared_ptr<YAML::detail::node>, std::shared_ptr<YAML::detail::node> const&>(std::shared_ptr<YAML::detail::node>*, std::shared_ptr<YAML::detail::node> const&) [839] + 0.00 0.00 330/5484 void __gnu_cxx::new_allocator<YAML::detail::node*>::construct<YAML::detail::node*, YAML::detail::node*>(YAML::detail::node**, YAML::detail::node*&&) [781] + 0.00 0.00 395/5484 void __gnu_cxx::new_allocator<YAML::Token>::construct<YAML::Token, YAML::Token>(YAML::Token*, YAML::Token&&) [744] + 0.00 0.00 804/5484 void std::_Construct<YAML::RegEx, YAML::RegEx const&>(YAML::RegEx*, YAML::RegEx const&) [2766] + 0.00 0.00 2280/5484 void __gnu_cxx::new_allocator<char>::construct<char, char>(char*, char&&) [881] +[25] 0.0 0.00 0.00 5484 operator new(unsigned long, void*) [25] +----------------------------------------------- + 0.00 0.00 600/5402 cv::_InputArray::_InputArray(cv::Mat const&) [41] + 0.00 0.00 600/5402 cv::_InputArray::_InputArray(cv::MatExpr const&) [38] + 0.00 0.00 600/5402 cv::_OutputArray::_OutputArray<cv::Vec<unsigned char, 3> >(cv::Mat_<cv::Vec<unsigned char, 3> >&) [106] + 0.00 0.00 1401/5402 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 2201/5402 cv::_InputArray::_InputArray() [34] +[26] 0.0 0.00 0.00 5402 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 4/4416 cv::Mat::Mat(cv::Mat&&) [59] + 0.00 0.00 4/4416 cv::Mat::operator=(cv::Mat&&) [107] + 0.00 0.00 1204/4416 cv::Mat::operator=(cv::Mat const&) [52] + 0.00 0.00 3204/4416 cv::Mat::Mat(cv::Mat const&) [50] +[27] 0.0 0.00 0.00 4416 cv::MatStep::operator[](int) [27] +----------------------------------------------- + 0.00 0.00 1204/4408 cv::Mat::operator=(cv::Mat const&) [52] + 0.00 0.00 3204/4408 cv::Mat::Mat(cv::Mat const&) [50] +[28] 0.0 0.00 0.00 4408 cv::MatStep::operator[](int) const [28] +----------------------------------------------- + 0.00 0.00 400/3801 cv::_InputArray::_InputArray(double const&) [42] + 0.00 0.00 600/3801 cv::_InputArray::_InputArray(cv::Mat const&) [41] + 0.00 0.00 600/3801 cv::_InputArray::_InputArray(cv::MatExpr const&) [38] + 0.00 0.00 2201/3801 cv::_InputArray::_InputArray() [34] +[29] 0.0 0.00 0.00 3801 cv::Size_<int>::Size_() [29] +----------------------------------------------- + 0.00 0.00 600/3601 displayLevels(Sandbox&) [2] + 0.00 0.00 800/3601 colorizeDepth(cv::Mat, float, float) [3] + 0.00 0.00 2201/3601 cv::_OutputArray::~_OutputArray() [37] +[30] 0.0 0.00 0.00 3601 cv::_InputArray::~_InputArray() [30] +----------------------------------------------- + 0.00 0.00 1/2815 cv::Mat::Mat(cv::Mat&&) [59] + 0.00 0.00 3/2815 cv::Mat::Mat(cv::Size_<int>, int) [54] + 0.00 0.00 204/2815 cv::Mat::Mat(int, int, int) [51] + 0.00 0.00 1005/2815 cv::Mat::Mat() [39] + 0.00 0.00 1602/2815 cv::Mat::Mat(cv::Mat const&) [50] +[31] 0.0 0.00 0.00 2815 cv::MatSize::MatSize(int*) [31] +----------------------------------------------- + 0.00 0.00 1/2815 cv::Mat::Mat(cv::Mat&&) [59] + 0.00 0.00 3/2815 cv::Mat::Mat(cv::Size_<int>, int) [54] + 0.00 0.00 204/2815 cv::Mat::Mat(int, int, int) [51] + 0.00 0.00 1005/2815 cv::Mat::Mat() [39] + 0.00 0.00 1602/2815 cv::Mat::Mat(cv::Mat const&) [50] +[32] 0.0 0.00 0.00 2815 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 400/2401 cv::_InputArray::_InputArray(double const&) [42] + 0.00 0.00 2001/2401 cv::MatSize::operator()() const [55] +[33] 0.0 0.00 0.00 2401 cv::Size_<int>::Size_(int, int) [33] +----------------------------------------------- + 0.00 0.00 600/2001 cv::_OutputArray::_OutputArray<cv::Vec<unsigned char, 3> >(cv::Mat_<cv::Vec<unsigned char, 3> >&) [106] + 0.00 0.00 1401/2001 cv::_OutputArray::_OutputArray(cv::Mat&) [36] +[34] 0.0 0.00 0.00 2001 cv::_InputArray::_InputArray() [34] + 0.00 0.00 2201/3801 cv::Size_<int>::Size_() [29] + 0.00 0.00 2201/5402 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 600/1400 displayLevels(Sandbox&) [2] + 0.00 0.00 800/1400 colorizeDepth(cv::Mat, float, float) [3] +[35] 0.0 0.00 0.00 1400 cv::MatExpr::~MatExpr() [35] + 0.00 0.00 4200/6606 cv::Mat::~Mat() [24] +----------------------------------------------- + 0.00 0.00 1000/1000 displayLevels(Sandbox&) [2] +[36] 0.0 0.00 0.00 1000 cv::_OutputArray::_OutputArray(cv::Mat&) [36] + 0.00 0.00 1401/2001 cv::_InputArray::_InputArray() [34] + 0.00 0.00 1401/5402 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 1000/1000 displayLevels(Sandbox&) [2] +[37] 0.0 0.00 0.00 1000 cv::_OutputArray::~_OutputArray() [37] + 0.00 0.00 2201/3601 cv::_InputArray::~_InputArray() [30] +----------------------------------------------- + 0.00 0.00 200/600 displayLevels(Sandbox&) [2] + 0.00 0.00 400/600 colorizeDepth(cv::Mat, float, float) [3] +[38] 0.0 0.00 0.00 600 cv::_InputArray::_InputArray(cv::MatExpr const&) [38] + 0.00 0.00 600/3801 cv::Size_<int>::Size_() [29] + 0.00 0.00 600/5402 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 200/600 cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [12] + 0.00 0.00 400/600 cv::MatExpr::operator cv::Mat() const [45] +[39] 0.0 0.00 0.00 600 cv::Mat::Mat() [39] + 0.00 0.00 1005/2815 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 1005/2815 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 400/400 cv::_InputArray::_InputArray(double const&) [42] +[40] 0.0 0.00 0.00 400 cv::_InputArray::init(int, void const*, cv::Size_<int>) [40] + 0.00 0.00 400/400 cv::Size_<int>::operator=(cv::Size_<int> const&) [44] +----------------------------------------------- + 0.00 0.00 400/400 displayLevels(Sandbox&) [2] +[41] 0.0 0.00 0.00 400 cv::_InputArray::_InputArray(cv::Mat const&) [41] + 0.00 0.00 600/3801 cv::Size_<int>::Size_() [29] + 0.00 0.00 600/5402 cv::_InputArray::init(int, void const*) [26] +----------------------------------------------- + 0.00 0.00 400/400 colorizeDepth(cv::Mat, float, float) [3] +[42] 0.0 0.00 0.00 400 cv::_InputArray::_InputArray(double const&) [42] + 0.00 0.00 400/3801 cv::Size_<int>::Size_() [29] + 0.00 0.00 400/2401 cv::Size_<int>::Size_(int, int) [33] + 0.00 0.00 400/400 cv::_InputArray::init(int, void const*, cv::Size_<int>) [40] +----------------------------------------------- + 0.00 0.00 400/400 displayLevels(Sandbox&) [2] +[43] 0.0 0.00 0.00 400 cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [43] + 0.00 0.00 802/6606 cv::Mat::~Mat() [24] +----------------------------------------------- + 0.00 0.00 400/400 cv::_InputArray::init(int, void const*, cv::Size_<int>) [40] +[44] 0.0 0.00 0.00 400 cv::Size_<int>::operator=(cv::Size_<int> const&) [44] +----------------------------------------------- + 0.00 0.00 200/400 displayLevels(Sandbox&) [2] + 0.00 0.00 200/400 colorizeDepth(cv::Mat, float, float) [3] +[45] 0.0 0.00 0.00 400 cv::MatExpr::operator cv::Mat() const [45] + 0.00 0.00 400/600 cv::Mat::Mat() [39] +----------------------------------------------- + 0.00 0.00 3/207 cv::Mat::Mat(cv::Size_<int>, int) [54] + 0.00 0.00 204/207 cv::Mat::Mat(int, int, int) [51] +[46] 0.0 0.00 0.00 207 cv::Mat::create(int, int, int) [46] +----------------------------------------------- + 0.00 0.00 202/202 displayLevels(Sandbox&) [2] +[47] 0.0 0.00 0.00 202 cv::String::String(char const*) [47] +----------------------------------------------- + 0.00 0.00 202/202 displayLevels(Sandbox&) [2] +[48] 0.0 0.00 0.00 202 cv::String::~String() [48] +----------------------------------------------- + 0.00 0.00 201/201 displayLevels(Sandbox&) [2] +[49] 0.0 0.00 0.00 201 cv::Mat_<float>::~Mat_() [49] + 0.00 0.00 801/6606 cv::Mat::~Mat() [24] +----------------------------------------------- + 0.00 0.00 200/200 displayLevels(Sandbox&) [2] +[50] 0.0 0.00 0.00 200 cv::Mat::Mat(cv::Mat const&) [50] + 0.00 0.00 3204/4408 cv::MatStep::operator[](int) const [28] + 0.00 0.00 3204/4416 cv::MatStep::operator[](int) [27] + 0.00 0.00 1602/2815 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 1602/2815 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 200/200 colorizeDepth(cv::Mat, float, float) [3] +[51] 0.0 0.00 0.00 200 cv::Mat::Mat(int, int, int) [51] + 0.00 0.00 204/2815 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 204/2815 cv::MatStep::MatStep() [32] + 0.00 0.00 204/207 cv::Mat::create(int, int, int) [46] +----------------------------------------------- + 0.00 0.00 200/200 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [14] +[52] 0.0 0.00 0.00 200 cv::Mat::operator=(cv::Mat const&) [52] + 0.00 0.00 1204/4408 cv::MatStep::operator[](int) const [28] + 0.00 0.00 1204/4416 cv::MatStep::operator[](int) [27] + 0.00 0.00 602/8020 cv::Mat::release() [23] +----------------------------------------------- + 0.00 0.00 200/200 cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [14] +[53] 0.0 0.00 0.00 200 cv::Mat::type() const [53] +----------------------------------------------- + 0.00 0.00 3/3 displayLevels(Sandbox&) [2] +[54] 0.0 0.00 0.00 3 cv::Mat::Mat(cv::Size_<int>, int) [54] + 0.00 0.00 3/2815 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 3/2815 cv::MatStep::MatStep() [32] + 0.00 0.00 3/207 cv::Mat::create(int, int, int) [46] +----------------------------------------------- + 0.00 0.00 3/3 displayLevels(Sandbox&) [2] +[55] 0.0 0.00 0.00 3 cv::MatSize::operator()() const [55] + 0.00 0.00 2001/2401 cv::Size_<int>::Size_(int, int) [33] +----------------------------------------------- + 0.00 0.00 1/1 __libc_csu_init [3159] +[56] 0.0 0.00 0.00 1 _GLOBAL__sub_I_main [56] + 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [57] +----------------------------------------------- + 0.00 0.00 1/1 _GLOBAL__sub_I_main [56] +[57] 0.0 0.00 0.00 1 __static_initialization_and_destruction_0(int, int) [57] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[58] 0.0 0.00 0.00 1 Projection::getDistanceTopSandbox() [58] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[59] 0.0 0.00 0.00 1 cv::Mat::Mat(cv::Mat&&) [59] + 0.00 0.00 4/4416 cv::MatStep::operator[](int) [27] + 0.00 0.00 1/2815 cv::MatSize::MatSize(int*) [31] + 0.00 0.00 1/2815 cv::MatStep::MatStep() [32] +----------------------------------------------- + 0.00 0.00 1/1 displayLevels(Sandbox&) [2] +[60] 0.0 0.00 0.00 1 Sandbox::getProjection() [60] +----------------------------------------------- + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `<spontaneous>' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2018 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + + [56] _GLOBAL__sub_I_main (display_levels.cpp) [23] cv::Mat::release() [44] cv::Size_<int>::operator=(cv::Size_<int> const&) + [4] floatToColor(float, float, float) [50] cv::Mat::Mat(cv::Mat const&) [47] cv::String::String(char const*) + [3] colorizeDepth(cv::Mat, float, float) [39] cv::Mat::Mat() [48] cv::String::~String() + [2] displayLevels(Sandbox&) [54] cv::Mat::Mat(cv::Size_<int>, int) [35] cv::MatExpr::~MatExpr() + [57] __static_initialization_and_destruction_0(int, int) (display_levels.cpp) [59] cv::Mat::Mat(cv::Mat&&) [31] cv::MatSize::MatSize(int*) + [58] Projection::getDistanceTopSandbox() [51] cv::Mat::Mat(int, int, int) [32] cv::MatStep::MatStep() + [26] cv::_InputArray::init(int, void const*) [24] cv::Mat::~Mat() [27] cv::MatStep::operator[](int) + [40] cv::_InputArray::init(int, void const*, cv::Size_<int>) [52] cv::Mat::operator=(cv::Mat const&) [7] cv::Scalar_<double>::Scalar_(double, double, double, double) + [41] cv::_InputArray::_InputArray(cv::Mat const&) [10] cv::Vec<double, 4>::Vec() [16] cv::Scalar_<double>::Scalar_(double) + [38] cv::_InputArray::_InputArray(cv::MatExpr const&) [8] cv::Vec<double, 4>::operator[](int) [60] Sandbox::getProjection() + [42] cv::_InputArray::_InputArray(double const&) [9] cv::Vec<unsigned char, 3>::operator[](int) [53] cv::Mat::type() const + [34] cv::_InputArray::_InputArray() [12] cv::Mat_<cv::Vec<unsigned char, 3> >::Mat_(cv::Mat const&) [45] cv::MatExpr::operator cv::Mat() const + [30] cv::_InputArray::~_InputArray() [43] cv::Mat_<cv::Vec<unsigned char, 3> >::~Mat_() [55] cv::MatSize::operator()() const + [36] cv::_OutputArray::_OutputArray(cv::Mat&) [14] cv::Mat_<cv::Vec<unsigned char, 3> >::operator=(cv::Mat const&) [28] cv::MatStep::operator[](int) const + [37] cv::_OutputArray::~_OutputArray() [49] cv::Mat_<float>::~Mat_() [15] std::vector<YAML::RegEx, std::allocator<YAML::RegEx> >::begin() const + [6] cv::Vec<unsigned char, 3>& cv::Mat::at<cv::Vec<unsigned char, 3> >(int, int) [11] cv::Matx<double, 4, 1>::Matx() [13] __gnu_cxx::__promote_2<float, int, __gnu_cxx::__promote<float, std::__is_integer<float>::__value>::__type, __gnu_cxx::__promote<int, std::__is_integer<int>::__value>::__type>::__type std::pow<float, int>(float, int) + [5] float& cv::Mat::at<float>(int, int) [33] cv::Size_<int>::Size_(int, int) [25] operator new(unsigned long, void*) + [46] cv::Mat::create(int, int, int) [29] cv::Size_<int>::Size_() diff --git a/apps/display_levels/index.jpeg b/apps/display_levels/index.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b2033b95fb39f91dc2560c86a0a628facc9d2de Binary files /dev/null and b/apps/display_levels/index.jpeg differ