Время выполнения программы/функции/цикла |
Здравствуйте, гость ( Вход | Регистрация )
Время выполнения программы/функции/цикла |
RazrFalcon |
4.10.2010, 16:01
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Как лучше реализовать? Чтоб точно было.
Я знаю только как таймером, но я так понимаю он и сам будет подвисать при тяжелых вычислениях. |
|
|
Алексей1153 |
4.10.2010, 18:39
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
уточни вопрос:
1) нужно задать время выполнения 2) нужно измерить время выполнения наверное, 2 лично я всегда пользуюсь разностью тиков (под виндой - GetTickCount() , в Qt ещё не доводилось применять, поэтому кроссплатформенное решение не знаю. Но в любом компьютере должны быть часы ) Сообщение отредактировал Алексей1153 - 4.10.2010, 19:20 |
|
|
RazrFalcon |
4.10.2010, 19:11
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Да, 2-е.
Часы это хорошо, супер точное время я могу получить так: date +%M:%S.%N что дает мне 07:22.227755156 7 мин 22 сек и оооочень много миллисекунд, тока это через консоль. А потом сделать разницу. Если можно было бы из приложения послать и получить что то из терминала. Это можно? |
|
|
Алексей1153 |
4.10.2010, 19:24
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
(кстати, GetTickCount тоже миллисекунды исповедует)
Если можно было бы из приложения послать и получить что то из терминала. а поподробнее - что ты хочешь получить и послать ? И с какой целью Если для измерения времени передачи/приёма, то проще сделать так: 1) засекаешь начало времени 2) отправляешь условный сигнал 3) получатель отражает сигнал 4) ты его снова принимаешь, считаешь разницу времени, делишь её на 2 |
|
|
RazrFalcon |
4.10.2010, 20:00
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
У меня убунту.
Надо послать в терминал date +%M:%S.%N , и получить что то типа 07:22.227755156 и все. Дальше и так понятно что делать. Мне непонятно только как работать с самим терминалом из моего приложения. А посчитать я смогу |
|
|
kwisp |
4.10.2010, 21:54
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
RazrFalcon,
касательно времени работы программы в целом есть утилиты готовые. time к примеру може посчитать |
|
|
RazrFalcon |
4.10.2010, 22:14
Сообщение
#7
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
касательно времени работы программы в целом есть утилиты готовые. time к примеру може посчитать ЭЭЭм... это в кьюте самом или отдельные. Я хочу именно в коде у себя. Просто не хочу создавать новую тему. Может щяс что то найду на тему как послать в консоль команду из проги. |
|
|
Sokoloff |
4.10.2010, 22:51
Сообщение
#8
|
Участник Группа: Участник Сообщений: 237 Регистрация: 1.4.2009 Из: Москва Пользователь №: 654 Спасибо сказали: 50 раз(а) Репутация: 11 |
касательно времени работы программы в целом есть утилиты готовые. time к примеру може посчитать ЭЭЭм... это в кьюте самом или отдельные. Я хочу именно в коде у себя. Просто не хочу создавать новую тему. Может щяс что то найду на тему как послать в консоль команду из проги. Посмотри в сторону функции gettimeofday. |
|
|
RazrFalcon |
5.10.2010, 17:34
Сообщение
#9
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Наверное не лучший вариант, но и только линуксовый. Но меня устраивает.
.срр
.pro
|
|
|
alex977 |
5.10.2010, 18:27
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 310 Регистрация: 19.6.2008 Из: Россия, МО, г.Мытищи Пользователь №: 206 Спасибо сказали: 77 раз(а) Репутация: 8 |
Класс QTime не подходит для этих целей?
Раскрывающийся текст QTime QTime::currentTime () [static] This is an overloaded function. Returns the current time as reported by the system clock. Note that the accuracy depends on the accuracy of the underlying operating system; not all systems provide 1-millisecond accuracy. |
|
|
Текстовая версия | Сейчас: 26.11.2024, 14:03 |