[an error occurred while processing this directive]
А почему не сделать общие настройки для всех модулей проекта,
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
_Bill
24 июля 2006 г. 10:36
В ответ на:
Ответ:
отправлено Aleksey_n 24 июля 2006 г. 10:26
а оптимизацию установить по максимуму?
Составить ответ
|||
Конференция
|||
Архив
Ответы
:) Гдето надо быстро, а где то компактно
—
Aleksey_n
(24.07.2006 10:38
87.238.112.163
,
пустое
)
Часто бывает, что оптимизация по быстродействию дает более компактный код, чем
—
_Bill
(24.07.2006 10:41
193.233.83.66
, 23 байт)
Специально счас компилировавал в разных режимах
—
Aleksey_n
(24.07.2006 16:54
87.238.112.163
, 176 байт)
Я же не спорю.Я сказал - бывает. Что и как нужно смотреть в каждом конкретном случае.
—
_Bill
(24.07.2006 17:14
193.233.83.66
, 58 байт)
Локально - да. Например, за счет отмены постоянной загрузки регистров из памяти. Вообще это закономерно - чем компактней код, тем быстрее он исполняется.
—
ETM
(24.07.2006 12:41
62.117.85.87
,
пустое
)
Это далеко не всегда так. Самый простой пример - циклы.
—
_Bill
(24.07.2006 13:06
193.233.83.66
, 373 байт)
Приемов - масса. Иногда они плохо объяснимы с точки зрения программирования на С. Логика оптимизатора - черный ящик. Например, поменяв местами поля в структуре можно получить забавные результаты. Я часто это использую.
—
ETM
(24.07.2006 14:37
62.117.85.87
,
пустое
)
Объяснить можно все. Покажите пример, я попробую его объяснить.
—
_Bill
(24.07.2006 14:49
193.233.83.66
,
пустое
)
С точки зрения разработчика компилятора и архитектуры процессора - да! Но не с точки зрения стандарта языка.
—
ETM
(24.07.2006 14:58
62.117.85.87
,
пустое
)
Но все равно интересно.
—
_Bill
(24.07.2006 15:00
193.233.83.66
,
пустое
)
Пожалуйста...(+)
—
ETM
(24.07.2006 15:12
62.117.85.87
, 385 байт)
А почему это нужно объяснять с точки зрения языка?
—
_Bill
(24.07.2006 15:35
193.233.83.66
, 489 байт)
Справедливо.
—
ETM
(24.07.2006 15:40
62.117.85.87
,
пустое
)
слабо что-то верится или компилер дерьмовый. каким образом разворачивание циклов в случае быстродействия даст более комп. код и наоборот, использование общих прологов - эпилогов даст более быстрый ?
—
DASM
(24.07.2006 10:49
212.58.192.14
,
пустое
)
Ну так оптимизация по скорости не обезательно включает в себя
—
_Bill
(24.07.2006 10:57
193.233.83.66
, 105 байт)
ну так а я про что ? Если он начнет делать общие на всех эпилоги то еще и call/ret на него добавтся, так что оптимизирую по коду потеряем скорость
—
DASM
(24.07.2006 11:02
212.58.192.14
,
пустое
)
то правильно, только я говорю о том, что оптимизация по размеру
—
_Bill
(24.07.2006 11:22
193.233.83.66
, 155 байт)
Про весь код не скажу, но сам видел у ИАР как отдельные куски становились компактнее после включения оптимизации по быстродействию
—
~ВМФ~
(24.07.2006 10:54
195.170.224.107
,
пустое
)
по сранению с чем ? с отключенной вообще ?
—
DASM
(24.07.2006 10:55
212.58.192.14
,
пустое
)
По сравнению с оптимизацией по размеру.
—
_Bill
(24.07.2006 10:58
193.233.83.66
,
пустое
)
и как ты объяснишь сие замечательное явление ? Мне, окромя тупости компилятора ничего в голову не приходит
—
DASM
(24.07.2006 11:00
212.58.192.14
,
пустое
)
Ну, использование тех же самых функции для прологов-эпилогов.
—
_Bill
(24.07.2006 11:16
193.233.83.66
, 385 байт)
Кстати, посмотрел листинг для случая оптимизации по размеру.
—
_Bill
(24.07.2006 11:39
193.233.83.66
, 142 байт)
Там просто одна функция с кучей входов PUSH 1, PUSH 2 ...
—
IAR
(24.07.2006 12:42
81.89.89.190
,
пустое
)
Так и должно быть, только push тут ни при чем.
—
_Bill
(24.07.2006 12:56
193.233.83.66
, 448 байт)
+1
—
~ВМФ~
(24.07.2006 11:07
195.170.224.107
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание