anonymous@RULINUX.NET~# | Last login: 2024-11-05 20:34:28 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
Собственно спустя год после прошлого раза опять бьюсь с замером времени выполнения сишного кода. clock() что-то как-то выдает все, кроме того, что надо и даже если искусственно sleep()'ом введена задержка может выдать, такое ощущение, просто рандомное значение. Собственно вопрос к местным - чем быстро и зло замерить время исполнения куска кода в миллисекундах для последующего printf'a? Гуглить лень.
anonymous(*) (2009-07-10 16:40:17)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009061319 Iceweasel/3.0.11 (Debian-3.0.11-1)
|
|
|
progman(*)(2009-07-11 01:25:59)
Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.10 (like Gecko) (Debian) |
Скрыть
Re:clock(); Чо за нафиг?О какого порядка временах идёт речь? Возможно, не хватает разрешения либо последствия многозадачности. Может быть, следует поюзать реалтаймовое ядро и реалтаймовый приоритет для сего случая? bugmaker(*)(2009-07-11 04:29:02)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 |
AiFiLTr0(*)(2009-07-13 01:40:13)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009061319 Iceweasel/3.0.11 (Debian-3.0.11-1) |
Скрыть
Re:clock(); Чо за нафиг?нда, действительно. Проглядел. man clock: > The clock() function returns an approximation of processor time used by the program. если используется sleep() или nanosleep(), это время не входит во время выполнения проги. clock() возвращает время, затраченное прогой, т.е. то, что выводится в строке user утилиты time, а тебе видимо нужно то, что выводится в строке real. Попробуй сделать хеловорд со sleep() внутре, а потом на его месте с циклом, выполняющимся некоторое время и например что-то вычисляющим. Сравни вывод утилиты time, напущенной на это прого. Разрешения clock() обычно не хватает для измерения единиц миллисекунд. Чтобы узнать разрешение, сделай код типа Это покажет минимальное время, которое может быть измерено функцией. У меня на компе для clock 10мс, а для gettimeofday 1мс, так что можешь использовать последнюю если подойдёт, но вообще говоря на разных компах это разрешение может быть разным. А так, как уже сказали, /dev/rtc. Пример и пояснения можно глянуть в /usr/src/linux/Documentation/rtc.txtbugmaker(*)(2009-07-13 06:07:57)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4 |
AiFiLTr0(*)(2009-07-13 11:37:09)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.11) Gecko/2009061319 Iceweasel/3.0.11 (Debian-3.0.11-1) |
|
|
|
Этот тред читают 3 пользователя: |
Анонимных: 3 Зарегистрированных: 0 |
Re:clock(); Чо за нафиг?
outb в LPT + осциллограф?
Emacs-w3m/1.4.335 w3m/0.5.2