如何准确的统计自己程序的运行时间

原创 2007年09月23日 11:46:00
 

HTML Tags and JavaScript tutorial



如何准确的统计自己程序的运行时间



能删除自己写的文章呢???
由于网络问题,重发了,我晕










 | 
下一篇: 如何准确的统计自己程序的运行时间

function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}


 如何准确的统计自己程序的运行时间



如何准确的统计自己程序的运行时间?也许你马上会回答使用C语言集中的clock()函数。不过如果你的程序可能要运行很久,clock()还行吗?答案是否定的。因为clock()内部使用的是clock_t (long类型),在Windows下它所能表示的时间是大约三万五千分钟,不过在unix下最多只能计时35分钟。查看了一下boost提供的timer代码,里面也有这个限制,:(。
大家知道clock()计算的是cpu使用时间,而time()计算的是wall clock time。理论上使用clock要比time要更加准确,特别是有多个进程在多线程调度下。不过在需要对运行超长时间的程序来说,time()看来是比较有效的方法了。
#include <sys/times.h>
#include <unistd.h>
double getRunTime(){ 
 struct tms current; 
 times(&current);   
 double norm = (double)sysconf(_SC_CLK_TCK); 
 return(((double)current.tms_utime)/norm);
}
int main(){ 
 double startTime = getRunTime();       
 /* do some job here */ 
 double endTime = getRunTime(); 
 
 printf("CPU Time = %f second/n", (endTime - startTime) ); 
 return 0;
}
大家有什么建议吗?


linux 统计程序运行时间

分类: 这篇文章写的很详细,转一个 我们有时需要得到程序的运行时间,但我们也要知道,根本不可能精确测量某一个程序运行的确切时间­[3],文献[4]中说的很明白,现摘录如下。       ...
  • woxxq
  • woxxq
  • 2013年02月12日 19:43
  • 2012

输出程序的运行时间的函数(自用)

#include #include int main(){ printf("%.2lf\n",(double)clock()/CLOCKS_PER_SEC); return 0; ...
  • YJX_xx
  • YJX_xx
  • 2014年08月06日 09:37
  • 603

java中计算程序运行时间

//伪代码 long startTime=System.nanoTime(); //获取开始时间 doSomeThing(); //测试的代码段 long endTime=System.nano...
  • happy08god
  • happy08god
  • 2014年04月08日 15:50
  • 12779

linux/UNIX统计程序运行时间的命令

很好很强大time 命令用途打印一条命令的执行时间。语法time [ -p ] Command [ Argument ... ]描述time 命令以秒为单位将一条命令执行期间所用的时间、系统时间和 ...
  • ysuncn
  • ysuncn
  • 2008年03月28日 23:09
  • 8986

VC/MFC中计算程序运行时间

原文链接点击打开链接 方法一 利用GetTickCount函数(ms) 代码: CString str;             long t1=GetTickCount...
  • MayDayLast
  • MayDayLast
  • 2014年03月11日 09:25
  • 1622

Java精确测量代码运行时间

Java精确测量代码运行时间: --------------- long startTime = System.nanoTime(); //開始時間 for(int i...
  • yearHeaven
  • yearHeaven
  • 2017年05月09日 09:15
  • 433

获取程序准确运行时间

WEB CaM DEMO的程序:using System;namespace Timing{ public class Counter  {  long elapsedCount = 0;  long...
  • mabaolin
  • mabaolin
  • 2007年01月16日 15:44
  • 650

c++统计程序运行时间的方法

总结下c++中统计程序运行时间的方法。 1:void main() { time_t t1; time(&t1); for(int i=0;i...
  • jx232515
  • jx232515
  • 2016年05月27日 18:03
  • 2661

VC/MFC中计算程序/系统运行时间

法一 利用GetTickCount函数  获取程序运行时间  。。。long t1=GetTickCount();//程序段开始前取得系统运行时间(ms)。。。。。。//to do s...
  • yu__jia
  • yu__jia
  • 2016年09月22日 12:54
  • 316

LINUX计算程序运行时间

在这篇博客上看到计算程序运行时间的方法,转载下来,以后可以查找。 http://blog.sina.com.cn/s/blog_4b1849e4010115hb.html...
  • u010454261
  • u010454261
  • 2016年11月29日 21:27
  • 501
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何准确的统计自己程序的运行时间
举报原因:
原因补充:

(最多只允许输入30个字)