реклама на сайте
подробности

 
 
> Оптимизация кода Keil
aanbor
сообщение Dec 27 2012, 06:00
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 103
Регистрация: 23-06-07
Пользователь №: 28 642



Добрый день всем.
Давно хотел получать оптимизированный код, все руки не доходили. Сейчас начинаю проект с нуля, самое время начать осваивать. Первым делом начал с эзернета, запустил без оптимизации, пинги проходят. Затем ставлю уровень 3, смотрю что получилось.
Вот кусок из ETH_STM32F2xx:
Код
  id1 = read_PHY (PHY_REG_IDR1);
  id2 = read_PHY (PHY_REG_IDR2);

Обе переменные объявлены локально внутри функции и вроде должны вести себя одинаково. Но если шагать отладчиком, видно, что id1=0x22, а вот id2=not in scope. Почему не отображается id2? Да и много чего не могу посмотреть отладчиком, но видимо все работает правильно, раз плата пингуется. Как тогда отлаживать при включенной оптимизации?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aanbor
сообщение Dec 27 2012, 08:18
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 103
Регистрация: 23-06-07
Пользователь №: 28 642



В принципе я так себе и представлял: отладил-вышел-включил оптимизацию-пересобрал проект-запустил-вышел-отключил оптимизацию-пересобрал проект и так много-много итераций. Тогда возникает вопрос: если памяти хватает, особо высокая скорость не требуется, а так ли нужна эта самая оптимизация?
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 27 2012, 10:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(aanbor @ Dec 27 2012, 12:18) *
Тогда возникает вопрос: если памяти хватает, особо высокая скорость не требуется, а так ли нужна эта самая оптимизация?

В этой ситуации (хватает и памяти, и скорости) оптимизация не даёт ничего.
Однако, если вы рассчитываете использовать написанный код в других проектах, в которых может быть включен высокий уровень оптимизации, тестирование кода с включенной оптимизацией может помочь заранее отловить баги, зависящие от уровня оптимизации. То есть по сути дополнительное тестирование как инвестиция в будущее повторное использование кода.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 18:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01329 секунд с 7
ELECTRONIX ©2004-2016