Re: [分享] 提升時間精度的方法

作者: anfranion (南‧生命的意義是經歷)   2012-03-25 10:45:27
剛剛研究了一下發現
其實TmStat裡的rTime好像就是這個值
給大家參考一下囉:P
p.s. 其實我還好奇為什麼uTime用的getrusage會這麼不穩(不準)
我去查後發現 理論上這是最準的方法才對...
難道說真的太快了所以都變成0us了嗎=口=
※ 引述《craig08 (小佑)》之銘言:
: ※ 編輯: tyrueiwo 來自: 114.42.160.23 (03/12 22:17)
: ※ 編輯: tyrueiwo 來自: 114.42.160.23 (03/12 22:18)
: 推 koalahsu:tm_usage 可以取得 double 有小數點 03/12 22:29
: 推 koalahsu:如果想要精度更大一些可以找找這類的文章 03/12 22:30
: 推 koalahsu:像是使用 clock_t 不過我印象中用 tm_usage,應該也沒有差 03/12 22:30
: 推 koalahsu:很多, 建議可以跑比較大的 testcase 就會有差別 03/12 22:31
: 推 koalahsu:tm_usage 是用 sys/times.h 的 tms 03/12 22:37
: → johnjohnlin:timeval tvS , tvE; 03/13 22:11
: → johnjohnlin:gettimeofday ( &tvS , NULL ); 03/13 22:11
: → johnjohnlin: //Do programming here 03/13 22:11
: → johnjohnlin:gettimeofday ( &tvE , NULL ); 03/13 22:11
: → johnjohnlin:1000000*(tvE.tv_sec-tvS.tv_sec)+tvE.tv_usec-tvS.tv 03/13 22:12
: → johnjohnlin:_usec 就是總時間 (in us) 03/13 22:13
: 推 xiaohao:include<unistd.h> 03/17 19:21
: ==============================================================================
: 實際測試了一下 推文中強強林(johnjohnlin)的方法確實可以提升精度
: 甚至可以量到86us這種數字
: 並且重複執行一種sort的實驗值誤差在10%以內
: 比起使用tm_usage一下0us一下10000us跳來跳去還robust多了
: 提供給大家參考~
作者: ntuptter (北極)   2012-04-05 15:11:00
喔~~

Links booklink

Contact Us: admin [ a t ] ucptt.com