[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 12 октября 2005 г. 12:34
В ответ на: про компилятор(+) отправлено <font color=gray>for(;;)</font> 12 октября 2005 г. 12:13

1) restrict говорит оптимизатору, что он может смело взять данное по указателю, засунуть в регистр, и работать с ним в регистре до упаду. Соответственно, если через какой-то другой указатель это же данное будет изменено, то получится глюк. Два указателя на разные части массива кстати не криминал. В общем юзать аккуратно, зная смысл происходящего :)

2) Еще как может помочь. При конвейеризации цикла часто получается, что цикл может выполняться минимум какое-то кол-во раз. Соответственно компилер, не зная минимального реального числа итераций компилит два цикла - один соптимизированный напрочь, второй - менее соптимизированный, но умеющий от одной итерации исполняться. И ставит условный переход меж них... Это раз. Второе и главное в MUST_ITERATE - это кратность счетчика цикла - если она известна, то компилер может слегка подразвернуть цикл и спараллелить. Тоже полезно.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru