clock_gettime测代码运行时间

//函数原型:
//	long clock_gettime (clockid_t which_clock, struct timespec *tp);
//参数列表:
//	CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变,即从UTC1970-1-1 0:0:0开始计时,中间时刻如果系统时间被用户该成其他,则对应的时间相应改变。
//	CLOCK_MONOTONIC:从系统启动这一刻起开始计时,不受系统时间被用户改变的影响
//	CLOCK_PROCESS_CPUTIME_ID:本进程到当前代码系统CPU花费的时间
//	CLOCK_THREAD_CPUTIME_ID:本线程到当前代码系统CPU花费的时间
//返回值:
//	0:成功,-1:错误,在errno中保存错误代码

//目的:测代码运行时间

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>

void diff(struct timespec *start, struct timespec *end, struct timespec *interv)
{
	if((end->tv_nsec - start->tv_nsec) < 0)
	{
		interv->tv_sec = end->tv_sec - start->tv_sec-1;
		interv->tv_nsec = 1000000000 + end->tv_nsec - start->tv_nsec;
	}else
	{
		interv->tv_sec = end->tv_sec - start->tv_sec;
		interv->tv_nsec = end->tv_nsec - start->tv_nsec;
	}
	return;
}

void curr_time(struct timespec *time)
{
	clock_gettime(CLOCK_REALTIME, time);
}

int main()
{
	struct timespec start, end, interv;

	curr_time(&start);
	//do something here
	curr_time(&end);
	diff(&start, &end, &interv);
	printf("cost time nsec %ld.\n",interv.tv_sec * 1000000000 + interv.tv_nsec);
}
时间: 2024-08-31 08:28:26

clock_gettime测代码运行时间的相关文章

php 代码运行时间查看类

php教程 代码运行时间查看类 //date:2011-08-05 class RunTime//页面执行时间类 {  private $starttime;//页面开始执行时间  private $stoptime;//页面结束执行时间  private $spendtime;//页面执行花费时间  function getmicrotime()//获取返回当前微秒数的浮点数  {   list($usec,$sec)=explode(" ",microtime());   retu

php 定义php代码运行时间

php 定义php代码运行时间 定义和用法 time_sleep_until() 函数延迟代码执行直到指定的时间. 语法 time_sleep_until(timestamp) 参数 描述 timestamp 必需.脚本唤醒时的时间戳. 说明 使脚本暂停执行,直到指定的 timestamp. 返回值 如果成功则返回 TRUE,失败则返回 FALSE. 错误/异常 如果指定的时间戳位于过去,则该函数将生成一个 E_WARNING. 提示和注释 注释:所有信号都将在脚本唤醒后递送. 注释:本函数未在

windows c/c++ 代码运行时间,毫秒级

#pragma once /* //计算代码段运行时间的类 // */ #include <iostream> #ifndef ComputeTime_h #define ComputeTime_h class ComputeTime { private: int Initialized; __int64 Frequency; __int64 BeginTime; public: bool Avaliable(); double End(); bool Begin(); ComputeTime

php代码运行时间查看类代码分享_php技巧

复制代码 代码如下: //date:2011-08-05 class RunTime//页面执行时间类 { private $starttime;//页面开始执行时间 private $stoptime;//页面结束执行时间 private $spendtime;//页面执行花费时间 function getmicrotime()//获取返回当前微秒数的浮点数 { list($usec,$sec)=explode(" ",microtime()); return ((float)$us

关于代码运行时间Stopwatch的使用

(转载请注明出处:http://blog.csdn.net/buptgshengod)          Stopwatch类主要是针对那些跑起来用时比较长的代码,让我们测出各个过程的时间耗费!          主要有三个方法:start(),stop(),reset().ElapsedMilliseconds用来提取时间,单位是毫秒.          (注意:如果测量多段代码,没进行一次start,要reset一次才行)          下面用一段代码掩饰 using System.Di

使用Objective-C 计算代码运行时间

第一种:(最简单的NSDate) NSDate* tmpStartData = [NSDate date]; //You code here... double deltaTime = [[NSDate date] timeIntervalSinceDate:tmpStartData]; NSLog(@"cost time = %f", deltaTime); 第二种:(将运行代码放入下面的Block中,返回时间) #import <mach/mach_time.h> //

C# 使用 Stopwatch 测量代码运行时间

小技巧大智慧: System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();sw.Start();System.Threading.Thread.Sleep(3000);sw.Stop();Console.WriteLine(sw.Elapsed);

麻烦大家帮着看看如何能简化代码,缩短运行时间?

问题描述 因为是在一个timer的Tick事件里面,需要在10ms内完成串口数据读取,现在代码运行时间都40ms左右了,privatevoidmmtimer1_Tick(objectsender,EventArgse){byte[]message1=newbyte[1];message1[0]=0xFE;//再向机器发送FE,每发送一次就收到一次数据.serialPort1.Write(message1,0,1);byte[]mbyte=newbyte[serialPort1.BytesToRe

值得阅读的C语言开源项目代码

1.Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力 下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbench.html 2.CMockery cmockery是google发布的用于C单元测试的一个轻量级的框架.它很