|
ARM cycle count, как правильно мерять производительность кода. |
|
|
|
Dec 3 2009, 10:59
|

Частый гость
 
Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970

|
Здравствуйте, уважаемые армоведы. Просмотрев внимательно по форуму, я нашел много упоминаний о измерении производительности кода под ARM. Одни меряют время, другие пробуют посчитать циклы (cycle count). В ветке немного затронули проблему измерения тактов, то детально не обсуждали. И у меня возник вопрос, как правильно оценить эффективность и производительность кода? Ну вот, например как оценить скорость выполнение FFT? Я так понимаю, было б правильно посчитать сколько он занимает тактов, а потом умножить на время одного такта. Тогда под разными процессорами можно было б сказать, за сколько выполнится преобразование. Для Блекфин как то получены цифры, но вот с помощью чего? В Keil можно померить время выполнения функции в Симуляторе. Но что это за время? Ведь код может выполнятся из внутреннего кеша процессора или из внешней памяти. По этому возник еще один вопрос, есть ли какие либо дополнительные тулзы что б мерить не время, а именно cycle count с учетом всех задержек после выполнения инструкций?
|
|
|
|
|
 |
Ответов
|
Dec 3 2009, 15:03
|

Частый гость
 
Группа: Свой
Сообщений: 93
Регистрация: 5-03-06
Из: Украина, Киев
Пользователь №: 14 970

|
Цитата(AlexandrY @ Dec 3 2009, 16:35)  Keil считает так как будто код выполняется из кэша. Keil правильно показывает такты, можете базироваться на его результатах. Я запускаю Keil Simulator, ставлю брейкпоин на нужную мне функцию, открываю Performance Analyzer и вижу в нем Calls, Time(Sec), Time(%). Следовательно, могу померять только время. А где можно посмотреть Cycles? У меня uVision V3.62c, MDK 3.22a Подскажите пожалуйста, куда глянуть что б увидеть результат по тактам.
|
|
|
|
|
Dec 16 2009, 12:22
|
Частый гость
 
Группа: Свой
Сообщений: 92
Регистрация: 16-05-05
Из: Kiev
Пользователь №: 5 080

|
Цитата(AlexandrY @ Dec 3 2009, 17:27)  А.. , так у вас притензии к Performance Analyzer-у Keil-а. Смотрите описание команды командной строки Keil-а - PerformanceAnalyze Открываю mVision3 v3.62с - Смотрю описание PerformanceAnalyze и вижу сноску что команда не доступна в arm симуляторе. Я правильно понимаю, что в симуляторе (без железа) кол-во тактов ядра на выполнение куска кода подсчитать невозможно или я не прав? Если неправ, ткните где написано, как это сделать.
|
|
|
|
Сообщений в этой теме
Bosicc ARM cycle count Dec 3 2009, 10:59 aaarrr Цитата(Bosicc @ Dec 3 2009, 13:59) По это... Dec 3 2009, 11:06 Bosicc Цитата(aaarrr @ Dec 3 2009, 13:06) Тулзов... Dec 3 2009, 11:20  aaarrr Цитата(Bosicc @ Dec 3 2009, 14:20) Хм... ... Dec 3 2009, 11:29 sergeeff Выделяешь какой-нибудь свободный и доступный pin. ... Dec 3 2009, 12:00 scifi Цитата(Bosicc @ Dec 3 2009, 13:59) И у ме... Dec 3 2009, 12:08 Bosicc Цитата(scifi @ Dec 3 2009, 14:08) Чтобы п... Dec 3 2009, 12:38  _Pasha Цитата(Bosicc @ Dec 3 2009, 16:38) Необхо... Dec 3 2009, 12:42  aaarrr Цитата(Bosicc @ Dec 3 2009, 15:38) Необхо... Dec 3 2009, 12:44   Bosicc Цитата(aaarrr @ Dec 3 2009, 14:44) Ну, об... Dec 3 2009, 14:11    aaarrr Цитата(Bosicc @ Dec 3 2009, 17:11) А как ... Dec 3 2009, 14:29   tocha Цитата(aaarrr @ Dec 3 2009, 14:44) P.S. L... Dec 3 2009, 17:21    aaarrr Цитата(tocha @ Dec 3 2009, 20:21) почему ... Dec 3 2009, 21:34     KRS Цитата(aaarrr @ Dec 4 2009, 00:34) По док... Dec 3 2009, 21:42      aaarrr Цитата(KRS @ Dec 4 2009, 00:42) А я вроде... Dec 3 2009, 21:48       KRS Цитата(aaarrr @ Dec 4 2009, 00:48) B - то... Dec 3 2009, 23:52  KRS Цитата(Bosicc @ Dec 3 2009, 15:38) Необхо... Dec 3 2009, 14:14  ViKo Цитата(Bosicc @ Dec 3 2009, 17:03) Я запу... Dec 4 2009, 16:25 klen мое мнение - 1 лапка + 1 осцилограф
реальное время Dec 3 2009, 20:32 KRS Цитата(klen @ Dec 3 2009, 23:32) мое мнен... Dec 3 2009, 20:59  ar__systems Цитата(KRS @ Dec 3 2009, 15:59) Да так мо... Dec 4 2009, 00:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|