将clock_t转化为秒值在Windows与Linux平台下的差异
来源:互联网 发布:mac重装系统找不到磁盘 编辑:程序博客网 时间:2024/06/07 19:09
平时写测试程序的时候常常要计算程序执行的时间,尤其是最近练习Intel多核编程时,需要判断打开openmp参数与否的执行时间的比较。
通常代码是这样写的:
#include
clock_t start, stop;
....
start = clock();
do_something();
stop = clock();
printf("%f", (double)(stop-start)/1000.0) ;
.....
或者是求当前时间的秒值:
double t = (double) clock()/1000.0;
但是这样的代码在Windows平台下是正确的(当然会这样写也是因为上Intel培训课时,例程都是这么写的),而到了Linux平台下,这个程序就错了,会发现时间一下多了1000倍。
事实上,clock_t的值转换为秒应该是除以CLOCKS_PER_SEC这个宏,而这个宏在Windows平台下是1000,而到了Linux平台下就是1000000了。
因此程序正确的写法是:
#include
clock_t start, stop;
....
start = clock();
do_something();
stop = clock();
printf("%f", (double)(stop-start)/(double)CLOCKS_PER_SEC) ;
.....
这样才能保证程序在跨平台移植时的正确性。
- 将clock_t转化为秒值在Windows与Linux平台下的差异
- 将windows下改变的文本转化为linux
- linux平台与windows平台的float差异
- 将windows下的txt格式转化为linux下的文件格式
- 将windows下的GBK编码格式文件转化为Linux下UTF-8编码格式文件
- 关于stderr stdout linux windows 平台下的差异 以及exit与_exit
- 在Windows下将python中scikit learn的模型转化为PMML文件
- 比较两个txt文件内容的差异,分别在windows与linux环境下
- 用脚本如何实现将Linux下的txt文件批量转化为Windows下的txt文件?
- linux 下将rgb24转化为rgb565的格式
- socket在linux和windows下的差异
- Linux与windows下setsockopt的一点差异
- snprintf linux 与 windows下差异
- snprintf linux 与 windows下差异
- 内存对齐的初步讲解--linux和windows平台下内存分配的差异
- 内存对齐的初步讲解--linux和windows平台下内存分配的差异
- 内存对齐的初步讲解--linux和windows平台下内存分配的差异
- 关于使用fgets获取的字符串换行符在windows和linux平台的差异
- 简单的Jquery控制滚动条滚动
- 第七周实验报告(2)
- EXCEL 上传不了的解决方法
- light-sensor驱动简单认识
- 银行IT的一些情况
- 将clock_t转化为秒值在Windows与Linux平台下的差异
- sqlite数据库真神奇,7G文件大小性能你来猜
- AndEngine 分析之一-----BaseGameActivity
- LayoutInflater的使用 和getSystemService系统服务
- JSP、PHP、ASP跳转代码实现一个网站空间绑定多个域名,建立多个网站
- 编程开发人员最具有影响力的十一本书籍 .
- Android核心分析 之一 -------方法论探讨之概念空间篇 .
- 第七周任务一 含有static的class Time
- XCode的一些调试技巧