Профилирование встраиваемого приложения

У меня есть приложение, которое работает на встроенном процессоре (ARM), и я хотел бы представить приложение для понимания то, где это использует системные ресурсы, как ЦП, память, IO, и т.д. Приложение работает сверху Linux, таким образом, я предполагаю, что существует много профильных доступных приложений. У кого-либо есть какие-либо предложения?

Спасибо!

править: Я должен также добавить версию Linux, который мы используем, несколько стар (2.6.18). К сожалению, я не имею большой контроль этим прямо сейчас.

5
задан kidjan 19 July 2010 в 22:31
поделиться

3 ответа

Как сказал Бобах, полезны gprof и valgrind. Вы также можете попробовать OProfile .Если ваше приложение написано на C ++ (как указано тегами), вы можете рассмотреть возможность отключения исключений (если ваш компилятор позволяет вам) и избежания динамического приведения типов, как упоминалось выше sashang. См. Также Встроенный C ++ .

2
ответ дан 15 December 2019 в 00:48
поделиться

По соответствующему примечанию, C ++ рабочая группа подготовила технический отчет о стоимости производительности различных функций языка C ++. Например, они анализируют стоимость dynamic_casting на один или два уровня в глубину. Отчеты здесь http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf , и они могут дать вам некоторое представление о том, где могут быть болевые точки вашего встроенного приложения. .

0
ответ дан 15 December 2019 в 00:48
поделиться

если ваш Linux не очень ограничен, вы можете найти gprof и valgrind полезными

2
ответ дан 15 December 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: