怎样获取一段c语言时钟程序程序运行所需要的时钟周期

linux下获得程序执行需要多少时钟周期,该如何解决 - C语言当前位置:& &&&linux下获得程序执行需要多少时钟周期,该如何解决linux下获得程序执行需要多少时钟周期,该如何解决&&网友分享于:&&浏览:80次linux下获得程序执行需要多少时钟周期有一个问题,就是我需要测试一段代码执行需要多少个时钟周期?求高手指点!------解决方案--------------------get两次time不可以吗
------解决方案--------------------C/C++ code
#include &stdio.h&
static __inline__ unsigned long long GetCycleCount(void)
__asm__ volatile (&.byte 0x0f, 0x31& : &=A& (x));
int main()
x=GetCycleCount() ;
//你的程序
x=GetCycleCount() -x;
printf(&%llu\n&,x);
//结果为程序时钟周期,除以你的CPU频率就是秒数
------解决方案--------------------用time命令获取时间不可以吗?
------解决方案--------------------用time精度不高
------解决方案--------------------探讨用time精度不高
------解决方案--------------------世上本就没有绝对的精确。
------解决方案--------------------在执行程序前面加上time 不久行了么?
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有【图文】习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
上传于||暂无简介
大小:1.93MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢如何获取进程运行的时间长度
如何获取进程运行的时间长度
&&& 本文简要介绍了如何使用 GetProcessTimes API 函数来获取某个进程运行了多长时间。GetProcessTimes 函数返回的时间值很容易转换成可读和可利用的信息。参考如下代码段:
  HANDLE hPFILETIME ftCreation,ftExit,ftKernel,ftU
  GetProcessTimes(hProcess, &ftCreation, &ftExit, &ftKernel, &ftUser);
  本文例子程序的运行界面如下图所示:
  计算运行的时间
  某个进程运行的时间长度是指该进程创建的时间到当前时间逝去的时间。这个信息被存储在 FILETIME 结构中。只要计算出逝去的时间,那么再将它转换成小时/分钟/秒形式。很幸运,借助 COleDateTime 类,这个工作很容易完成。
&COleDateTime timeNow = COleDateTime::GetCurrentTime(),timeCreation = ftCCOleDateTimeSpan timeDiff = timeNow - timeC
  在此你可以使用 COleDateTimeSpan 中不同的方法来获得逝去的小时/分钟等信息。
  计算内核和用户时间
  参考相关文档,内核和用户时间就是实际逝去的时间。这个值在 FILETIME 结构中被表示为 100 纳秒单位。将它转换成可用的信息有两种方法:
  方法一:
  我们可以用一些基本方法将它转换成以秒为单位的值,一纳秒相当于千万分之一秒,因为这个时间已经用 100 纳秒单位表示,所以用10个百万来除一下即可:
&__int64 i64Kernel = *((__int64 *) &ftKernel);DWORD dwKernel = (DWORD) (i64Kernel / U);&&& 除此之外,还可以使用联合数据类型:
  union{FILETIME ftK__int64 i64K} timeK
  timeKernel.ftKernel = ftKDWORD dwKernel = (DWORD) (timeKernel.i64Kernel / U);
  不管哪种方法,dwKernel 都表示内核模式的进程运行逝去的秒数。再把秒数转换成小时/分钟/秒的形式就不难了。
  方法二:
  第二种方法只需要调用一个 API 函数就能搞掂,这个 API 函数就是 FileTimeToSystemTime,该函数将结果存储到 SYSTEMTIME 结构中,然后从结构中获取 wHour、wMinute 和 wSecond 成员。
&SYSTEMTIME stKFileTimeToSystemTime(&ftKernel, &stKernel);
  用户模式时间的获取可以如法炮制。
  本文涉及的一些 API 函数调用如下:
  GetProcessTimes(hProcess, &ftCreation, &ftExit, &ftKernel, &ftUser);
  timeCreation = ftC
  strData.Format("Created at %02d:%02d:%02d", timeCreation.GetHour(), timeCreation.GetMinute(), timeCreation.GetSecond());
  timeDiff = timeNow - timeCstrData.Format("Elapsed time = %ud %uh %um %us", timeDiff.GetDays(), timeDiff.GetHours(), timeDiff.GetMinutes(), timeDiff.GetSeconds());
  FileTimeToSystemTime(&ftKernel, &stKernel);strData.Format("Time in kernel mode = %uh %um %us", stKernel.wHour,stKernel.wMinute, stKernel.wSecond);&&& 需要说明的一点是本文所述方法不能获取某些系统级进程的运行时间信息以及名称。需要另想办法实现。
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&1026. 程序运行时间(15)
1026. 程序运行时间(15)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一个时钟打点数C1;在f执行完成后再调用clock(),获得另一个时钟打点数C2;两次获得的时钟打点数之差(C2-C1)就是f运行所消耗的时钟打点数,再除以常数CLK_TCK,就得到了以秒为单位的运行时间。这里不妨简单假设常数CLK_TCK为100。现给定被测函数前后两次获得的时钟打点数,请你给出被测函数运行的时间。输入格式:输入在一行中顺序给出2个整数C1和C1。注意两次获得的时钟打点数肯定不相同,即C1 & C2,并且取值在[0, 107]。输出格式:在一行中输出被测函数运行的时间。运行时间必须按照“hh:mm:ss”(即2位的“时:分:秒”)格式输出;不足1秒的时间四舍五入到秒。输入样例:123 4577973输出样例:12:42:59提交代码#include&stdio.h&#include&string.h&int main(){int a,b,d;int c[100];scanf(&%d%d&,&a,&b);& & d=floor((b-a)/100.0+0.5);printf(&%.2d:%.2d:%.2d&,d/3600,d%3600/60,d%60);return 0;//处理四舍五入仅仅加.5就好了牛掰 ,仅一行代码&/*cha=b-a;d=while(cha){yu=cha%10;//1234c[i++]=cha=cha/10;}if(c[1]&=5){d=d/100+1;}else{d=d/100;}*/&}
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 c语言计算时钟的夹角 的文章

 

随机推荐