Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Анализ производительности кода
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Spider
Существует ли какой-нить анализатор пр-ти кода? Так чтобы посмотреть времена нахождения в отдельных участкаих кода и доступы к памяти?
А вдруг?
jorikdima
При использовании симулятора в различных IDE есть свои профайлеры. Без симулятора, на железе, полагаю, только самому с использованием таймеров. Универсальных (как на ПК), тем более для АВР, вряд ли.
tems-ya
Из топика непонятна конечная цель такой процедуры. Если вобщем, то на СВОИХ тестовых примерах оценивают и выбирают компилятор исходя из интересующих конкретно вас критереиев, и далее уже ему доверяют (при соблюдении "правильности" для данного копилера написания исходного кода, что оценивается дизасемблерным листингом). Если конкретный код - то скорость по числу циклов в симуляторе, объем по дизамблерному листингу. Если нет симулятора, то вставки в код для выплевывания отладочной инфы по, скажем, усарту с завязкой на отдельный или существующий таймер или счетчик.
Spider
Цель стоит определить по коду самые "тяжёлые" по времени исполнения участки.
ARV
самые тяжелые участки: расчеты с float-ами, работа с printf, математические функции из стандартной библиотеки, задержки. в принципе, в AVR Studio длительность любого участка программы "замеряется" превосходно для любых "вычислительных" алгоритмов (там, где задействована периферия - сложнее, результат непредсказуем или недостижим вообще).
_Pasha
Для определения "тяжести" сильно ветвящихся алгоритмов садитесь за симулятор и "ручками" делайте самый плохой набор условий. Полезно применить Hapsim для "загрузки проца" прерываниями по УАРТУ и I2C. Остальное и так симулируется.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.