Оптимизация кода. C оптимизация кода
Оптимизация кода
Рекомендуем использовать Visual Studio 2017
Эта документация перемещена в архив и не поддерживается.
Visual Studio 2013
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) // some code here #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Другие ресурсы
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) // some code here #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) #pragma optimize("", on)Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com
Оптимизация кода
Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.
С помощью оптимизации исполняемого файла можно добиться баланса между высокой скоростью выполнения и небольшим размером кода. В данном разделе рассматриваются некоторые из доступных в Visual C++ механизмов, облегчающих оптимизацию кода.
В следующих разделах описываются некоторые из возможностей оптимизации, доступных в языке C/C++.
Директивы pragma и ключевые слова оптимизацииСписок ключевых слов и прагм, которые можно использовать в коде для повышения производительности.
Параметры компилятора, упорядоченные по категориямСписок параметров компилятора /O, которые непосредственно влияют на скорость выполнения или размер кода.
Декларатор ссылки Rvalue: &&Ссылки rvalue поддерживают реализацию семантики перемещения. Применение семантик перемещения для реализации библиотек шаблонов может значительно повысить производительность приложений, в которых эти шаблоны используются.
Pragma оптимизации
Если в каком-либо оптимизированном участке кода возникают ошибки или замедление быстродействия, для отключения оптимизации для данного участка можно использовать прагму optimize.
Следует поместить код между двумя прагмами, как показано далее.
#pragma optimize("", off) #pragma optimize("", on)Также можно отметить появление дополнительных предупреждений во время компиляции кода с оптимизацией. Это нормально, поскольку некоторые предупреждения относятся только к оптимизированному коду. Если принимать во внимание такие предупреждения, можно избежать многих проблем, связанных с оптимизацией.
Парадоксально, но оптимизация быстродействия программы может в отдельных случаях вызвать замедление быстродействия кода. Это происходит из-за того, что некоторые процессы оптимизации быстродействия увеличивают объем кода. Например, встраивание функций может свести к минимуму дополнительные издержки при вызове функций. Однако вследствие встраивания слишком большого объема кода размер программы может увеличиться настолько, что это приведет к увеличению числа ошибок страницы виртуальной памяти. Таким образом, увеличение быстродействия вследствие отказа от вызовов функции может привести к потерям в памяти подкачки.
В следующих разделах рассматриваются рекомендуемые методы программирования.
Рекомендации по оптимизации срочного кодаБолее совершенные методы написания кода могут помочь повысить производительность. В этом разделе приведены методы написания кода, которые помогают убедиться, что срочные части кода выполняются удовлетворительно.
Рекомендации по оптимизацииОбщие правила оптимизации приложения.
Вследствие того что в процессе оптимизации код, созданный компилятором, может изменяться, рекомендуется перед оптимизацией кода выполнять отладку и замерять производительность приложения.
В следующих разделах содержатся основные сведения об отладке.
В следующих разделах содержатся более подробные сведения об отладке.
В следующем наборе разделов приведена информация об оптимизации процессов построения, загрузки и выполнения кода.
Образец построения C/C++
technet.microsoft.com