您的位置:首页 > 其它

《PCL点云库学习&VS2010(X64)》Part 19 PCL1.72(VTK6.2.0)PCL程序计时

2016-08-31 23:05 393 查看
《PCL点云库学习&VS2010(X64)》Part 19 PCL1.72(VTK6.2.0)PCL程序计时

1、系统计时

clock()

头文件:time.h

函数原型:clock_t clock(void);

功能:该函数返回值是硬件滴答数,要换算成,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000。

说明:可以精确到毫秒,适合一般场合的使用。

#include <iostream>
#include <pcl/common/time.h>

int main()
{
srand(time(0));
// 创建一个定时器
clock_t start, end;

std::cout << "Start computing!" << std::endl;
//代码1
start = clock();//开始计时
int loopNum = 1000000;
for (size_t i = 0; i < loopNum; ++i)
{
std::cout << "";
}
end = clock();//计时结束
std::cout << "Computation ended!" << std::endl;
//计算时间差值,得到程序运行时间差
//1、默认精确到毫秒
std::cout << (end - start) /* / CLOCKS_PER_SEC */ << "ms(毫秒) used!" << std::endl;
//2、精确到秒,需要转换,否则时间短,可能为0
std::cout << (double)(end - start)/CLOCKS_PER_SEC << "s(秒) used!" << std::endl;

//说明Ctime的这个函数精度单位为ms
return (0);
}
运行:



2、借鉴博客,利用PCL自带的计时函数计时
#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() << "ms(毫秒)" << std::endl;
std::cout << "运行时间:" << time.getTimeSeconds() << "s(秒)" << 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() << "ms(毫秒)" << std::endl;
std::cout << "运行时间:" << time.getTimeSeconds() << "s(秒)" << std::endl;

{
std::cout << "代码3" << std::endl;
pcl::ScopeTime scope_time("运行时间:");

//代码3
for (size_t i = 0; i < loopNum; ++i)
{
std::cout << "";
}
}

return (0);
}

运行:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐