Установка apt-build. Выделили три уровня оптимизации для кода: «Свет», «Средний» и «Сильный». Он предупредил, что сильный приведет к нестабильности системы, поэтому я выбрал Medium.
Есть ли наблюдаемая разница между уровнями оптимизации?
Должен ли я просто пойти -O3?
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли будет зависеть от кода, который вы компилируете.
Все, что вы там выбрали, будет отображаться как флаг для GCC, поэтому после man-страницы GCC:
-O, -O1. С помощью -O компилятор пытается уменьшить размер кода и время выполнения, не выполняя никаких оптимизаций, требующих большого времени компиляции. -O2 Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода. -O3 Оптимизируйте еще больше. -O3 включает все оптимизации, заданные -O2, а также включает опции -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize и -fipa-cp-clone.Вы можете запустить
gcc -O<1-3> -Q --help=optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать -O3 / Strong).
Я бы сказал, что это вряд ли зависит от кода, который вы компилируете.
Что бы вы там ни выбрали, в качестве флага для GCC будет указан флаг, поэтому, следуя man-странице GCC : [ ! d18]
-O
,-O1
. С помощью-O
компилятор пытается уменьшить размер кода и время выполнения без каких-либо оптимизаций, требующих большого времени компиляции.
-O2
Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода.blockquote>
-O3
Оптимизируйте еще больше.-O3
включает все оптимизации, заданные-O2
, а также включает-финные функции
,-funswitch-loops
,-fpredictive-commoning
,-fgcse-after-reload
,-ftree-vectorize
и-fipa-cp-clone
.Вы можете запустить
gcc -O & lt; 1-3 & gt; -Q --help = optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск того, что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать
-O3 [ ! d15] / Strong ).
Я бы сказал, что это вряд ли зависит от кода, который вы компилируете.
Что бы вы там ни выбрали, в качестве флага для GCC будет указан флаг, поэтому, следуя man-странице GCC : [ ! d18]
-O
,-O1
. С помощью-O
компилятор пытается уменьшить размер кода и время выполнения без каких-либо оптимизаций, требующих большого времени компиляции.
-O2
Оптимизируйте еще больше. GCC выполняет почти все поддерживаемые оптимизации, которые не связаны с компрометацией космической скорости. По сравнению с -O, этот параметр увеличивает как время компиляции, так и производительность сгенерированного кода.blockquote>
-O3
Оптимизируйте еще больше.-O3
включает все оптимизации, заданные-O2
, а также включает-финные функции
,-funswitch-loops
,-fpredictive-commoning
,-fgcse-after-reload
,-ftree-vectorize
и-fipa-cp-clone
.Вы можете запустить
gcc -O & lt; 1-3 & gt; -Q --help = optimizers
, чтобы увидеть набор активированных методов оптимизации для каждого уровня оптимизации.
Чем агрессивнее они, тем больше риск того, что компилятор что-то привнесет (не должно произойти, и я не знаю, насколько вероятно что-то произойдет, но если вы хотите быть в безопасности, я предлагаю вам следовать рекомендациям apt-build не использовать
-O3 [ ! d15] / Strong ).