Czy powinienem używać opcji javac -O do optymalizacji?

javac ma ciekawe-O opcja:

Optymalizuje skompilowany kod, wstawiając metody statyczne, końcowe i prywatne. Pamiętaj, że twoje klasy mogą być większe.

Ta opcja wydaje się nie być popularna (ukryta?), Właśnie ją odkryłem dzisiajStrona CodeCup 2014.

-O nie jest wymieniony woficjalna dokumentacja ani wman javac... Dziwne.

W przyjętej odpowiedzi na podobnepytaniemożemy przeczytać, że:

Optymalizacja w Javie jest w większości wykonywana przez kompilator JIT w czasie wykonywania. Dlatego nie ma sensu próbować poinstruować go, aby zoptymalizował pewien sposób w czasie kompilacji (kiedy i tak tworzy tylko kod bajtowy). JIT prawie na pewno podejmie lepsze decyzje na miejscu, znając dokładne środowisko i obserwując rzeczywiste wzorce wykonywania określonych części kodu.

Moje pytanie brzmi:

Czy powinienem zawsze używać-O opcja czy nie? Innymi słowy, kod zawsze działa szybciej-O czy to w ogóle nie ma znaczenia?

Może wielkość klas może wzrosnąć tak bardzo, że ogólna wydajność spadnie? Lub JVM i tak zrobi inlinowanie, więc lepiej to zostawić?

Podobna historiabyło zgcc -O3 flaga.

questionAnswers(3)

yourAnswerToTheQuestion