16+
Суббота
22 сентября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры PIC

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Экспериментатор  (05.06.2018 12:14) , в ответ на Вообще-то, чтобы "короче", надо -Os. А вот эти -O123 - это для скорости. Скажем, разматывание цикла может добавить кода огого. автор: SciFi
Заглянул в документацию: "-O2 turns on all optional optimizations except for loop unrolling (-funroll-loops), function inlining (-finline-functions), and strict aliasing optimizations (-fstrict-aliasing). It also turns on Frame Pointer elimination 
(-fomit-frame-pointer). As compared to -O, this option increases both compilation time and the performance of the generated code." Соответственно, циклы должно начинать разматывать на -O3. В моем случае были виноваты inline вставки для прерываний, которые на -O1 не прилинковываются, как было задумано. Кстати, на -Os - тоже. Проблему решает сборка проекта с идивидуальными опциями для каждого модуля. Раньше об этом не задумывался, так как стремился использовать в нужных местах макросы. Кстати, код с ними все-равно примерно на 3% меньше наилучшего достигнутого результата с inline.
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII