Page MenuHomePhabricator

ci: use gold linker for linux builds
ClosedPublic

Authored by zmike on Jul 23 2018, 4:46 AM.

Details

Summary

this is a substantially faster linker which should yield some speedups
for our builds

Depends on D6654

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
zmike created this revision.Jul 23 2018, 4:46 AM
zmike updated this revision to Diff 15889.Jul 25 2018, 8:52 AM
zmike edited the summary of this revision. (Show Details)
stefan_schmidt accepted this revision.Jul 27 2018, 1:30 AM

Nice! Never tested efl with the gold linker myself. Glad that it works out of the box and gives us some speed improvements.

This revision is now accepted and ready to land.Jul 27 2018, 1:30 AM
q66 added a subscriber: q66.Jul 27 2018, 2:54 AM

maybe using clang and ld.lld would also be worth a try (lld should be even much faster than gold, and clang should also be at least a little bit faster)

zmike added a comment.Jul 27 2018, 5:30 AM
In D6655#115019, @q66 wrote:

maybe using clang and ld.lld would also be worth a try (lld should be even much faster than gold, and clang should also be at least a little bit faster)

I actually benchmarked lld vs gold vs ld on the src/examples/ directory linking and the results were extremely underwhelming. On my local machine it was something like 5mins for gold and 4:45-4:50 for lld--basically within the margin of error. Not worthwhile at all considering the docker image space required.

The compiler itself is actually not much of a bottleneck; ccache results in near 100% direct cache hits on an average build, meaning that the compiler is almost never called. Linking takes far, far longer.

This revision was automatically updated to reflect the committed changes.