Имеет ли смысл перекомпилировать проект с новой (java 11) целевой версией с точки зрения производительности, если он будет запускаться на java 11, а исходный код останется прежним (java 8)?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
Каковы подводные камни для запуска байт-кода java 8 на более новой JVM?
Обновлять:
Оптимизатор кода — это один из этапов этапа компиляции, где:
- Это поможет вам установить компромисс между скоростью выполнения и компиляции.
- Улучшает время работы целевой программы
- Генерирует оптимизированный код, все еще в промежуточном представлении
- Удаление недостижимого кода и избавление от неиспользуемых переменных
- Удаление операторов, которые не были изменены, из цикла
- так далее
подробнее: https://www.guru99.com/compiler-design-phases-of-compiler.html
Итак, мне интересно, есть ли большая разница между разными компиляторами (тестами), было бы неплохо иметь полный список всех оптимизаций, происходящих на этапе компиляции.