2011-04-06 123 views
1

在Linux API timer_settime中,我們都知道可以使用API​​ timer_settime設置計時器間隔。我們可以設置的最小值是1 ns,但CPU不需要這樣做,因爲它也取決於CPU的頻率。計算最佳計時器間隔(timer_settime)

我想計算一下,並將這個最佳間隔設置爲我的計時器(應該是最小的)。

任何想法如何計算?

在此先感謝。

回答

0

考慮到您的應用程序「」的限制,最佳時間間隔爲「儘可能長。換句話說,不要經常發射超過需要的時間。

+0

這就是我們需要衡量,以及如何。我們需要將其設置爲我們處理器接受的最小允許值。 – kingsmasher1 2011-04-06 06:15:15

+0

你可以得到的最小延遲顯然是在一個緊密的循環中調用你的函數,根本不使用定時器API。這個問題似乎是不明確的。 – caf 2011-04-06 06:20:42

+0

你需要什麼樣的細節/規格?請讓我知道,我會清除它。我不知道這很簡單,但你不理解它。 – kingsmasher1 2011-04-06 06:37:55

0

你試過「man clock_getres」嗎?

另外,不要忘記在調用者和CPU之間有一個內核和一個C庫。我認爲你真正想知道的是「我可以讓我的進程在內核中休眠的最短時間間隔是多少?」我不確定,但這可能取決於內核使用的clocksource(這隻與您傳遞給timer_ *和clock_ *函數的clockid_t稍有關係)。