crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Измерить производительность отдельного метода..
kibsoft
  опции профиля:
сообщение 13.2.2010, 0:50
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Кроме QTimer как можно измерить время выполнения отдельного метода? QBENCHMARK не для этого предназначен?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.2.2010, 1:18
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kibsoft @ 13.2.2010, 3:50) *
QBENCHMARK не для этого предназначен?
для этого. Но в основном в отладочных целях, а не как штатная часть конечного приложения.

можешь ещё вот это почитать: требуется кросплатформенный счётчик "тиков"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 13.2.2010, 1:38
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Что-нибудь с cycle_p.h у вас получилось? Как примерно работать с этим?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.2.2010, 1:42
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kibsoft @ 13.2.2010, 4:38) *
Что-нибудь с cycle_p.h у вас получилось?
да эта штука оказалась самой подходящей.
Цитата(kibsoft @ 13.2.2010, 4:38) *
Как примерно работать с этим?
сейчас уже не скажу, и теста не сохранил. Но за час я померил всё что мне было нужно.
Смотри шапку в файле там есть описание.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 13.2.2010, 12:38
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Вчера ночью башня не варила уже :lol: щас все понял :) меряет точней чем QTime однозначно :) Litkevich Yuriy, спасибо за подсказку!

Сообщение отредактировал kibsoft - 13.2.2010, 13:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 13.2.2010, 13:10
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Проверил по секундомеру, не правильно меряет :( в комментах в h файле написано, что возвращает наносекунды, т.е. я делю на 1 000 000 000 и получаются секунды..но ответ - в два раза(приблизительно) больше чем должно быть..Или все таки это не наносекунды?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.2.2010, 15:11
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kibsoft @ 13.2.2010, 16:10) *
в комментах в h файле написано, что возвращает наносекунды
это где такое написано?
Я в коментариях вижу:
Цитата
which returns a double-precision variable in arbitrary units. You
are not expected to convert this into human units like seconds; it
is intended only for *comparisons* of time intervals.


Здесь речь идёт о "тиках" низкоуровневого системного таймера, у которого очень высокая разрешающая способность. Но он может тикать с неудобным абсолютным временем, мало того, на разных машинах один тик будет иметь разную абсолютную величину.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 13.2.2010, 20:38
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Я вот тут это прочитал :)
Цитата
static inline double elapsed(CycleCounterTicks t1, CycleCounterTicks t0) /* time in nanoseconds */
{
time_base_to_time(&t1, TIMEBASE_SZ);
time_base_to_time(&t0, TIMEBASE_SZ);
return ((t1.tb_high - t0.tb_high) * 1e9 + (t1.tb_low - t0.tb_low));
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.2.2010, 20:53
Сообщение #9


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(kibsoft @ 13.2.2010, 23:38) *
Я вот тут это прочитал
а к какой платформе относится?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 13.5.2024, 14:59