Re: [問題]請問Linux下的計時器
謝謝回應
我寫了一個小副程
有需要的可以拿去用
========================================================================
#include <sys/time.h>
timeval tv_Start,tv_End;
double StopWatch(bool b_Stop)
{
//usage : StopWatch(0) -> Set up the stopwatch
// StopWatch(1) -> Stop the stopwatch
//return : StopWatch(0) return 0.0;
// StopWatch(1) return time interval in sec.
if(!b_Stop)
{
gettimeofday(&tv_Start,NULL);
return 0.0;
}
else
{
gettimeofday(&tv_End,NULL);
return (1000000*(tv_End.tv_sec-tv_Start.tv_sec)+
tv_End.tv_usec-tv_Start.tv_usec)/1000000.0;
}
}
========================================================================
※ 引述《littleshan (我要加入劍道社!)》之銘言:
: 這個方法我也常用
: 不過我會建議 gettimeofday
: 最主要是因為 rdtsc 需要先知道 cpu clock 才能轉成 ms
: 另外就是如果 cpu 有省電功能
: 通常 clock 是不固定的
: 所以結果會有誤差
: 另外在 smp 系統上
: 兩顆 cpu 的 timestamp 可能不同步
: (還有 你竟然直接寫machine code 真帥氣 XD)
: ※ 引述《ccbruce (萬年好人)》之銘言:
: : try RDTSC on Intel family...
: : The resolution is in n-sec level.
: : __inline__ unsigned long long int rdtsc()
: : {
: : unsigned long long int x;
: : __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
: : return x;
: : }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.155.35
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章