Оптимизация кода

С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода.В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.

Возможности языка

В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.

xz7ttk5s.collapse_all(ru-ru,VS.110).gifPragma оптимизации

Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.

Следует поместить код между двумя прагмами, как показано далее.

#pragma optimize("", off)
// some code here 
#pragma optimize("", on)

Примеры программирования

Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией.Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду.Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.

Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода.Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода.Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций.Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти.Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.

В следующих разделах рассматриваются рекомендуемые методы программирования.

Отладка оптимизированного кода

Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.

В следующих разделах содержатся основные сведения об отладке.

В следующих разделах содержатся более подробные сведения об отладке.

В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.

См. также

Другие ресурсы

Образец построения C/C++