C/C++语言函数clock()
来源:互联网 发布:对外汉语网络教学 编辑:程序博客网 时间:2024/06/11 05:39
语言cdelayloopssystemlinux
C语言函数clock() 功 能: 返回处理器调用某个进程或函数所花费的时间。 用 法: clock_t clock(void); 说明:clock_t其实就是long,即长整形。该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者 CLK_TCK CLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000,这表示硬件滴答1000下是1秒,因此要计算一个进程的时间,用clock()除以1000即可。具体见第一个例子。 程序例1:(TC下运行通过) #include <stdio.h> #include <time.h> int main(void) { clock_t start, end; start = clock(); delay(2000); end = clock(); printf("The time was: %fn", (double)(end - start) / CLK_TCK); return 0; } CLK_TCK 定义在TC中的time.h中:#define CLK_TCK 18.2。在VC6.0中也有关于CLK_TCK的宏定义,不过其值不再是18.2,而是1000。实际上在VC6.0中CLK_TCK已完全等同于CLOCKS_PER_SEC。 在VC中delay用Sleep()来代替,其头文件是windows.h。 程序例2:(VC6.0下运行通过) #include <stdio.h> #include <time.h> #include<windows.h> int main(void) { clock_t start, end; start = clock(); Sleep(2000); end = clock(); printf("The time was: %dn", (end - start) / CLK_TCK);//注意是%d,不再是%f return 0; } 程序例3:(VC6.0下运行通过) #include "stdio.h" #include "stdlib.h" #include "time.h" int main( void ) { long i = 10000000L; clock_t start, finish; double duration; printf( "Time to do %ld empty loops is ", i ); start = clock(); while( i-- ) ; finish = clock(); duration = (double)(finish - start) / CLK_TCK; //CLK_TCK在VC6.0中可以用CLOCKS_PER_SEC printf( "%f secondsn", duration ); system("pause"); return 0; }
Linux命令
功能说明:编排文本文件。 语 法:fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...] 补充说明:fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排後,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。 参 数: -c或--crown-margin 每段前两列缩排。 -p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。 -s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。 -t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。 -u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。 -w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。 --help 在线帮助。 --version 显示版本信息。自己没事可以看看程序的运行时间,第一个想到的还是以前会的clock() ,先把代码扔这。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
clock_t begin, end;
double cost;
begin = clock();
/* 程序代码 */
end = clock();
cost = (double)(end - begin) / CLOCKS_PER_SEC;
printf("%lf seconds\n", cost);
system("pause");
return 0;
}
这个函数返回开启进程和调用clock()之间的的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock),每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。
但是是我感觉这段程序有两个问题,很不爽。第一是精度,只能精确到1ms,低于1ms的程序全部输出0ms,因为WinNT的时间精度最小是1ms;第二是准确度,printf()的速度太快了,基本上和clock()的速度一样,所以误差很大很大。。。
不晓得在Win下怎么才能提高计算精度。。。
转自http://blog.csdn.net/chenhuijie666/article/details/7478395
- C语言函数clock()
- C语言函数clock()
- C/C++语言函数clock()
- C语言计时函数clock()
- C语言中的一些时间函数(time/sleep/clock)
- C语言 clock() 函数使用心得
- 数据结构C语言1-clock函数
- C语言学习之时钟函数clock()函数
- C语言time.h中clock()函数的使用
- 计算程序运行时间 C语言 clock()函数
- C语言函数clock ,比秒更精确的计时
- c语言中统计程序运行时间用clock函数
- C语言时间差计算函数clock() 与 time ()用法分析
- C语言Sleep clock time函数的使用
- C语言time.h中clock()函数的使用
- 利用clock()函数计算一段代码运行消耗的时间(C语言)
- clock.c
- clock程序-c语言实现
- solr-4.3.1 和 tomcat7配置
- SMTP验证方式种类(LOGIN、PLAIN、CRAM-MD5)
- CF 306D(Polygon-多边形‘推进’oper)
- BO WEBI 技巧 - 超链传参
- iOS学习之Xcode 的Debug技巧
- C/C++语言函数clock()
- 解决cocos2d-x工程无法使用cocos-ext.h问题
- 理解HTTP session原理及应用
- hdu1026
- iOS触屏手机点击区域的小秘密
- apache配置URL重写
- 关于js闭包的理解
- 不要自称为程序员
- 信号量---解决进程间的同步与互斥问题之1