[JDK-8247872](https://bugs.openjdk.java.net/browse/JDK-8247872) (upgrade 
HarfBuzz to 2.7.2) caused build time to go up with 24 seconds on my reference 
linux machine. This was one of the four culprits that caused a 25-30% build 
time regression over the last two years.

The problem here was that the new HarfBuzz code caught really bad behaviour 
from gcc when compiling with optimizations. The official HarfBuzz build does 
not use any -O flags at all for gcc, so presumably the HarfBuzz team is:

a) not thinking compiler optimization is important for the performance of this 
library, and
b) unaware that their code causes such a headache for gcc.

(Other compilers fare much better: visual studio makes no difference at all, 
and for clang just a small regression was observed.)

The current optimization level was introduced by 
[JDK-8255790](https://bugs.openjdk.java.net/browse/JDK-8255790), which were 
really about moving libharfbuzz compilation back into libfontmanager. I could 
find no comments/discussion relating to the change of optimization level, so I 
assume it was incidental, and just seemed good at the time.

This patch changes the optimization level to `SIZE` (which is the closest thing 
we have to no optimization level) on gcc.

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

Commit messages:
 - 8283323: libharfbuzz optimization level results in extreme build times

Changes: https://git.openjdk.java.net/jdk/pull/7919/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7919&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8283323
  Stats: 8 lines in 1 file changed: 7 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7919.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7919/head:pull/7919

PR: https://git.openjdk.java.net/jdk/pull/7919

Reply via email to