RFR: 8319197: Exclude hb-subset and hb-style from compilation
Daniel Jeliński
djelinski at openjdk.org
Mon Nov 6 21:36:29 UTC 2023
On Tue, 31 Oct 2023 21:32:26 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> hb-subset and hb-style APIs are not used and not exported by libfontmanger. We can cut the compilation time by not compiling the unused files.
>
> The added exclusions reduce the build time by ~1 minute (~8%) on my machine. This is with harfbuzz 8, with harfbuzz 7 the improvement was ~30 seconds.
>
> Client libs tests continue to pass.
(1) - (4) - that's correct.
My tests were hardly scientific; most of the time I only deleted and recompiled libfontmanager using 8 parallel jobs; the time taken by the recompilation was in the 50-75 seconds range both with and without HB_LEAN.
Without the exclusions, the rebuild of libfontmanager takes ~2 minutes.
File build times from a sample run, taken from build-profile.log:
| file | time without any changes | time with -DHB_NO_SUBSET_LAYOUT -DHB_NO_SUBSET_CFF |
| -- | -- | -- |
hb-subset-cff-common.cc | 7.46s | 2.68s
hb-subset-cff1.cc | 14.06s | 2.47s
hb-subset-cff2.cc | 13.14s | 2.82s
hb-subset-input.cc | 5.70 s | 4.36s
hb-subset-plan.cc | 33.62s | 22.27s
hb-subset.cc | 56.15s | 33.33s
hb-subset-instancer-solver.cc | 4.81s | 2.81s
gsubgpos-context.cc | 11.66s | 7.48s
hb-style.cc | 9.49s | 6.67s
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16440#issuecomment-1796527076
More information about the build-dev
mailing list