Должен ли я использовать опцию javac -O для оптимизации?

javac имеет интересный-O опция:

Оптимизирует скомпилированный код путем встраивания статических, финальных и приватных методов. Обратите внимание, что ваши классы могут стать больше по размеру.

Эта опция, кажется, не популярна (скрыта?), Ямы только что обнаружили это сегодня, наСтраница CodeCup 2014.

-O не упоминается вофициальная документация ни вman javac... Странный.

В принятом ответе на подобноевопросмы можем прочитать это:

Оптимизация в Java в основном выполняется компилятором JIT во время выполнения. Следовательно, нет смысла пытаться дать ему указание оптимизировать определенный путь во время компиляции (когда он все равно создает только байт-код). JIT почти наверняка примет лучшие решения на месте, зная точную среду и наблюдая за фактическими схемами выполнения определенных частей вашего кода.

Мой вопрос:

Должен ли я всегда использовать-O вариант или нет? Другими словами, код всегда работает быстрее с-O или это не имеет никакого значения вообще?

Может быть, размер классов может увеличиться настолько, что общая производительность упадет? Или JVM все равно сделает это,лучше оставить это для этого?

Похожая историябыло сgcc -O3 флаг.

Ответы на вопрос(3)

Ваш ответ на вопрос