Нафига? Если ТС это настолько нахрен не нужно, что ему даже код в лом выложить, то нам-то зачем это решать? Впрочем, хочешь - решай.
ну можно например запомнить значение millis() в переменную, выполнить loop() , снова считать millis() и вычесть из нового значения старое - получите время исполнения цикла в миллисекундах
Понятно. Я думал, что есть какой-то способ определить, если анализировать скетч. Ну, например, я работаю с БД, всякие селекты и т.п. И примерно понимаю, какой из моих селектов быстро отработает, а какой долго. Просто по условиям понятно, кто больше данных обрабатывает, а кто меньше. Не говоря уже о какой-то оптимизации в виде индексов, партиций, плана запросов и т.п. По микроконтроллеру тоже понятно, что какие-то операции больше времени занимают, какие-то меньше. Но думал, что есть какие-то общие рекомендации по коду скетча прикинуть узкие места.
примерно так же ккак в БД - когда вы чуть освоитесь - сразу по виду инструкции будете понимать, какие части кода сколько примерно занимают по времени
да, в ардуинке тоже нужно примерно понимать, чтобы оценить время. Для выбранной задачи вы используете игрушечное решение. Для этой игрушки заданные вами вопросы не являются критичными, поэтому и способы их решения примитивные (засекать время). Подозреваю с БД вы окунались на нижний уровень, тут тоже нужно, чтобы начать разбираться. Когда я прогал под пики (микрочип), то при отладке в их среде (МПлабХ) смотрел счетчик тиков, уверен в атмел студио есть что-то похожее, но ни разу не пользовался, т.к. нужды не было. Засечь время проще)
вот здесь перевод http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR035.htm Например, оптимизировать работу АЦП в ардуино - пустое занятие. Там не выйти хотя бы на 70 кГц, не говоря уже о максимальных 150 кГц.
у меня есть systick (cortex-m), поэтому жульничаю как хочу) Кажется, в мплабХ было симулирование простеших камней. Я не знаю что в атмел студио можно симулировать.
С USB на борту не симулируются, Арм процы не знаю. С остальными восьмибитками проблем вроде нет. Но у меня xplained умеет внутрисхемную отладку, поэтому я ей и пользуюсь. А там только таймер))