4 ms·
LLD is substantially faster than gold (largely because it does multithreading vastly better, but for other reasons as well, LLD discards some long-held linking
by compiler-guy 5y ago
LLD is substantially faster than gold (largely because it does multithreading vastly better, but for other reasons as well, LLD discards some long-held linking semantics in the name of speed).
It took a ground-up rewrite to make it so. Rui Ueyama was employed by Google while he wrote LLD for ELF--it was his primary assignment, bought and paid for by Google.
So Google didn't just wait. It moved on to the next step.
- CalChris 5y agoSemantics? I know that LLD discarded the all-format architecture of gnu ld; arguably it got that idea from gold which is ELF only. But what semantics did it discard? I'm a huge fan of LLD by the way. But in addition to performance and its implementation architecture, I think licensing had something to do with LLD's success.
- int3 5y agohttps://lld.llvm.org/NewLLD.html#key-concepts https://lld.llvm.org/NewLLD.html#key-concepts > The semantics of LLD’s archive handling are different from the traditional Unix’s. You can observe it if you carefully craft archive files to exploit it. However, in reality, we don’t know any program that cannot link with our algorithm so far, so it’s not going to cause trouble.
- compiler-guy 5y agoI run into issues with these updated semantics not exactly routinely, but with some regularity. They can always be fixed, but often it is an annoying hassle.