> 28 jan. 2019 kl. 23:17 skrev Erik Joelsson <erik.joels...@oracle.com>: > > 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. > > 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. Nice catch! /Magnus > > /Erik >