2006-07-24

high resolution time

high resolution timeThis entry was originally published at 抓~ 抓到一隻瞌睡蟲

剛剛我哥突然問我要怎麼測一段程式跑的時間, 然後他跟我說他們實驗室的用系統時間去量. 差點昏倒, 用clock(3)去測就已經很不準了. XD

問他要在哪個platform測, 結果是在windows上面, 我記得是要用QueryPerformanceCounter, 可是我已經忘記怎麼寫了. XD 不過最近有看到這篇: 在 Windows 計時, 所以我就不用回去翻自己的code看要怎麼寫.

然後另外一個問題是他說這個東西如果要在Sun的工作站上面跑的話可以用嗎? 當然不行啦, 可是Solaris有一個曾經讓我嚇到的東西. gethrtime(3C), 我真的是被嚇到了. 至於FreeBSD跟Linux上面的話我已經忘光了, 反正我哥要用的話也是在Solaris的上面.

DESCRIPTION
The gethrtime() function returns the current high-resolution
real time. Time is expressed as nanoseconds since some arbi-
trary time in the past; it is not correlated in any way to
the time of day, and thus is not subject to resetting or
drifting by way of adjtime(2) or settimeofday(3C). The hi-
res timer is ideally suited to performance measurement
tasks, where cheap, accurate interval timing is required.

所以說完全是個剛剛好啊. 然後我沒有記錯的話, 應該是這樣的, 在x86的CPU, pentium上面會多一些register, 叫做Performance monitoring counters( — The performance monitoring counters allow processor performance events to be monitored), 這個東西在開機以後, 就會跟著你的CPU的clock(這個我沒有去確認是哪個clock喔)做counting. 根據MSDN上面某篇的說法, 在Windows上面這組QueryPerformanceCounter可以準到100 nanosecond.

我在一台K7 1G的機器測起來是沒有那麼精準就是了, 不過忘了是在哪裡看到, 這個performance counter精準度會跟你的CPU clock有關係.

lab正名活動

lab正名活動This entry was originally published at 抓~ 抓到一隻瞌睡蟲

這個起因是小豆接到了系辦打來的電話, 問我們實驗室到底叫什麼名字.

小豆:叫117實驗室啊.
系辦小姐: 啊每個實驗室都有一個名字啊.
小豆: 外面的牌子寫117實驗室啊


接著小豆把話筒遞給大哥頭, 以下簡稱

系辦小姐: #$%@#
哥: 就叫117實驗室啊
系辦小姐: @$%#@$#% … 你們老師來了, 我問他好了…
哥: 喔好

然後我就去找了一下, pcs.csie.nctu.edu.tw, 寫的是117實驗室, 可是member的地方寫PCS實驗室. 我不懂啊.

於是我再去找系上資料, 在這頁 系所成員 找到了

林一平 (Jason Yi-Bing Lin) 教授  行動通訊網路實驗室
美國華盛頓大學博士
專長領域:個人通信網路、行動計算、系統模擬

所以, 不要傻傻的喔, 我們不是117實驗室, 也不是PCS實驗室, 而是行動通訊網路實驗室. (好吧, 我也是現在赫然發現的. -_-)

UPDATED:
寫完以後看到related tags, 竟然是irclog, 裡面有個關鍵字, 蔡神, 我就想到了以前系上的通訊錄, 蔡神他們實驗室的名字, 就叫做蔡神實驗室蔡文能的實驗室. 不過這一兩年的通訊錄好像就不再那麼寫了。