PCL计算代码运行时间

来源:互联网 发布:手机淘宝客户端软件 编辑:程序博客网 时间:2024/04/30 21:50

文章原地址:http://www.zhangzscn.com/2016/08/23/pclbianchengbaodian-jisuandaimayunxingshijian/

有时需要计算代码运行的时间,使用PCL里的StopWatch类以及ScopeTime类可以实现这个功能。具体用法如下:

#include <iostream>#include <pcl/common/time.h>int main(){    pcl::StopWatch time;    //代码1    int loopNum = 1000000;    for (size_t i = 0; i < loopNum; ++i)    {        std::cout << "";    }    //得到时间    std::cout << "代码1" << std::endl;    std::cout << "运行时间:" << time.getTime() << "毫秒" << std::endl;    std::cout << "运行时间:" << time.getTimeSeconds() << "秒" << std::endl;    //重置    time.reset();    //代码2    for (size_t i = 0; i < loopNum * 10; ++i)    {        std::cout << "";    }    //得到时间    std::cout << "代码2" << std::endl;    std::cout << "运行时间:" << time.getTime() << "毫秒" << std::endl;    std::cout << "运行时间:" << time.getTimeSeconds() << "秒" << std::endl;    {        std::cout << "代码3" << std::endl;        pcl::ScopeTime scope_time("运行时间:");        //代码3        for (size_t i = 0; i < loopNum; ++i)        {            std::cout << "";        }    }    return (0);}

上面这段代码上,分别使用了StopWatch类以及ScopeTime类来计算代码运行时间。这里对ScopeTime类进行详细讲解,从代码里可以看到其并没有使用像StopWatch类直接调用getTime或getTimeSeconds,但是依然可以计算得到代码运行时间。这里解释一下原因,StopWatch类在计算的是类创建到析构的时间,定义类的新实例scope_time时开始计时,然后到scope_time开始析构时,输出代码运行时间。所以使用ScopeTime类时需要一个{}把代码和StopWatch包括起来。

0 0
原创粉丝点击