《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);
}
运行:
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);
}
运行:
相关文章推荐
- 《PCL点云库学习&VS2010(X64)》Part 20 PCL1.72(VTK6.2.0)PCL控制台程序线程
- 《PCL点云库学习&VS2010(X64)》Part 17 PCL1.72(VTK6.2.0)数据格式转换txt2pcd
- 《PCL点云库学习&VS2010(X64)》Part 14 PCL1.72(VTK6.2.0)点云分割(Point Cloud Segmentation)
- 《PCL点云库学习&VS2010(X64)》Part 18 PCL1.72(VTK6.2.0)编译CloudCompare注意点
- 《PCL点云库学习&VS2010(X64)》Part 12 PCL1.72(VTK6.2.0)三角网格化(1)
- 《PCL点云库学习&VS2010(X64)》Part 8 PCL1.72(VTK6.2.0)可视化例程
- 《PCL点云库学习&VS2010(X64)》Part 15 PCL1.72(VTK6.2.0)三角网格化(2)之泊松重构
- 《PCL点云库学习&VS2010(X64)》Part 9 PCL1.72(VTK6.2.0)滤波例程
- 《PCL点云库学习&VS2010(X64)》Part 11 PCL1.72(VTK6.2.0)点特征描述与提取
- 《PCL点云库学习&VS2010(X64)》Part 13 PCL1.72(VTK6.2.0)ICP示例
- 《PCL点云库学习&VS2010(X64)》Part 10 PCL1.72(VTK6.2.0)选点操作
- 《PCL点云库学习&VS2010(X64)》Part 6 VTK6.2+VS2013+Qt5.5 测试VTK基于VS2013的Qt程序之PCLViewer
- 《PCL点云库学习&VS2010(X64)》Part 16 PCL1.72(VTK6.2.0)滤波例程(2)之双边滤波
- 《PCL点云库学习&VS2010(X64)》Part 24 PCL&VTK&Eigen Spline曲线拟合
- 《PCL点云库学习&VS2010(X64)》Part 21 VTK6.2+VS2013 利用PCL读取ply格式网格曲面
- 《PCL点云库学习&VS2010(X64)》Part 5 VTK6.2+VS2013+Qt5.5 测试VTK基于VS2013的Qt程序
- 《PCL点云库学习&VS2010(X64)》Part 2 A simple test of PCL in MFC
- 《PCL点云库学习&VS2010(X64)》Part 29 PCL使用类成员函数作为pclvisualizer的回调函数
- 《PCL点云库学习&VS2010(X64)》Part 39 批处理命令设置PCL的环境变量
- 《PCL点云库学习&VS2010(X64)》Part 25 PCL点云操作函数汇集