Книга: Программирование для Linux. Профессиональный подход
9.5. Вопросы оптимизации
9.5. Вопросы оптимизации
Даже при наличии в программе ассемблерных вставок модуль оптимизации компилятора пытается переупорядочить и переписать код программы, чтобы минимизировать время ее выполнения. Когда оптимизатор обнаруживает, что выходные данные функции asm()
не используются, он удаляет ее, если только ему не встречается ключевое слово volatile
. Любой вызов функции asm()
может быть перемещен самым непредсказуемым образом. Единственный способ гарантировать конкретный порядок ассемблерных инструкций — включить все нужные инструкции в одну функцию asm()
.
Применение функции asm()
ограничивает эффективность оптимизации, поскольку компилятор не понимает семантику используемых в ней ассемблерных выражений. Помните об этом!
Похожие страницы
- Глава 11 Ответы на часто задаваемые вопросы
- Вопросы для самостоятельной работы
- Вопросы и ответы
- CPC или CPM: показатель оптимизации № 11 – CPC как инновация компании Google
- Контрольные вопросы
- Когда следует задавать проясняющие вопросы
- 7.8. Специальные вопросы
- Вопросы и задания
- 4.10. Как грамотно задавать вопросы
- Погода в доме. О внутренней оптимизации
- Глава 7 Практические вопросы
- Детализирующие вопросы