RFR: JDK-8217910: Slow linking with devkit on Linux
Erik Helin
erik.helin at oracle.com
Tue Jan 29 06:09:37 UTC 2019
> On 28 Jan 2019, at 23:17, Erik Joelsson <erik.joelsson at oracle.com> wrote:
>
> Hello,
>
> While investigating performance with different linkers and linker configuration, we discovered that the devkit linker on Linux (both bfd and gold) was a lot slower than the native linker on Ubuntu (23s vs 12s for bfd to link libjvm.so on my machine). They are both the same version (2.30), so this was puzzling.
>
> It turned out to be a difference in how binutils was built. On Ubuntu (and I assume most major Linux vendors), they explicitly set CFLAGS="-O2" when running the build for binutils. I had naively assumed that binutils set reasonable default CFLAGS in their build so have not modified them like this before. I tried adding -O2 for our devkit, and that created a kit with comparable linking performance on par with the Ubuntu linker. Since this seems to be widely done, I assume the change to be quite safe.
NIce catch and thanks for fixing this!
> With this patch, I'm modifying the devkit creation makefiles to add -O2 when building binutils. I'm also adding --enable-threads so that the user may run the gold linker with --threads (as well as updating a download link which now requires https). For Oracle users, the devkit versions are bumped in jib-profiles.js so the new devkits are used.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8217910
>
> Webrev: http://cr.openjdk.java.net/~erikj/8217910/webrev.01/index.html
Looks good, Reviewed.
Thanks,
Erik
> /Erik
>
More information about the build-dev
mailing list