以微秒为单位对函数计时
Timing a function in microseconds
嘿,伙计们,我正在尝试用微秒来计时我写的一些搜索函数,它需要足够长的时间才能显示2个有效数字。我写这段代码是为了给我的搜索功能计时,但它似乎太快了。我总是得到0微秒,除非我运行搜索5次,否则我得到1000000微秒。我想知道我是不是计算错了以微秒为单位的时间,或者是否有某种格式化函数可以用来强迫它显示两个sig图?
clock_t start = clock();
index = sequentialSearch.Sequential(TO_SEARCH);
index = sequentialSearch.Sequential(TO_SEARCH);
clock_t stop = clock();
cout << "number found at index " << index << endl;
int time = (stop - start)/CLOCKS_PER_SEC;
time = time * SEC_TO_MICRO;
cout << "time to search = " << time<< endl;
您在这一行使用整数除法:
int time = (stop - start)/CLOCKS_PER_SEC;
我建议使用double
或float
类型,并且您可能需要强制转换除法的组件。
使用QueryPerformanceCounter和QueryPerformanceFrequency,假设您在windows平台上使用
这里是ms KB如何使用QueryPerformanceCounter对进行时间编码的链接
相关文章:
- 以天C++为单位的两个时间戳之间的差异
- 如何以毫秒为单位获取开始时间和 now() 之间的毫秒差异(以 C++为单位?
- 从原始字节解码协议缓冲区(以 C++为单位)
- 为什么类构造函数为其成员生成析构函数?
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 编写以 C++ 为单位返回值的函数
- 以C++为单位进行运行长度编码
- 如何找到两个日期之间的时间差异(以秒和纳秒为单位)?
- 函数,以 C++ 为单位输出整数的位数之和
- 您是否有函数(不是随机)来查找随机骰子(从 1 到 6)数字(以 C++ 为单位)
- 函数内部内存限制(以 C++为单位)
- 调试函数参数的值(以C++为单位)
- 省略号函数参数的大小(以字节为单位)
- 制作一个计时器,在以毫秒为单位的一定时间后执行某个函数
- 接受函数的地址大小长度,以 <sys/socket.h 为单位>
- 获取评测函数持续时间的时间(以毫秒为单位)
- 以微秒为单位对函数计时
- 提升:以秒/毫/微米/纳米为单位计算函数的运行时间
- 设计一个结构来存储时间和日期.写一个函数来计算两个时间之间的差(以分钟为单位)
- 逻辑错误:平均质心计算不正确,无限执行,'entries '函数 - K 表示一组点的聚类,以C++为单位