RFR: 8304930: Enable Link Time Optimization as an option for Visual C++

Erik Joelsson erikj at openjdk.org
Fri Apr 14 14:20:33 UTC 2023


On Sun, 2 Apr 2023 07:00:51 GMT, Julian Waters <jwaters at openjdk.org> wrote:

> Currently, Link Time Optimization is only available for Java Virtual Machines compiled with gcc. Since the Java VM is the most performance critical part of the Java Platform for obvious reasons, it follows that optimized executables produced for Windows (as Visual C++ is currently the only compiler available for Windows as [JDK-8288293](https://bugs.openjdk.org/browse/JDK-8288293) is still under heavy development) would grant a significant performance boost for Java on Windows as a whole. Flags used for link time optimizations are set to make compiling with it enabled as fast as possible, to avoid the pitfall of very long compile times
> 
> Depends on [JDK-8304893](https://bugs.openjdk.org/browse/JDK-8304893) being integrated first, to prove that link time optimization is viable as an option

It's not obvious that this will give a significant performance boost to the JVM. A JVM typically spends most of its time executing Java code that it has compiled itself. Any potential performance gain from this optimization is limited to affect only the percentage of execution time spent running the JVM itself. How big of an impact that actually is can only be found out by measuring. It would be prudent to present at least some kind of benchmark numbers to support these claims with this patch.

That said, I'm not opposed to adding the option as long as it's not default on. I'm not sure about adding another GHA build just for this though. Do you really foresee enough problems to warrant that every change is verified with this option turned on?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13280#issuecomment-1508623460



More information about the build-dev mailing list