[PATCH] D113073: [lld-macho] Cache library paths from findLibrary

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 3 13:48:16 PDT 2021


smeenai added a comment.

In D113073#3106528 <https://reviews.llvm.org/D113073#3106528>, @keith wrote:

> In D113073#3106474 <https://reviews.llvm.org/D113073#3106474>, @oontvoo wrote:
>
>> In D113073#3105039 <https://reviews.llvm.org/D113073#3105039>, @keith wrote:
>>
>>> In D113073#3104904 <https://reviews.llvm.org/D113073#3104904>, @int3 wrote:
>>>
>>>> By the way, thanks for contributing all these optimizations! I was quite surprised to hear that ld64 was faster, given that LLD is typically much faster for our own workloads, but I guess you have rather different inputs. Hopefully we can make LLD the fastest Mach-O linker for all builds :)
>>>
>>> Thanks for all the reviews! For context our project is a huge iOS application with on the order of thousands of static libraries, and many iOS system framework + system library dependencies. Is this a case you've benchmarked? If so I'd be interested to dig a bit deeper into the differences to try and understand why it has been slower for us.
>>
>> For one of our largest ios apps that I've measured(different from int3's ):
>>
>> - ~7100 archives
>> - 56 frameworks  (including system ones)
>> - 12 weak frameworks
>
> Thanks for the info! What's your bottleneck at this point? After all my changes here our biggest area is we now spend 20+ seconds in `lld::macho::readFile`

If you can generate a reproducer tarball (`--reproduce`) and upload it somewhere, that might be interesting. I know LLD COFF does asynchronous file reads because of file I/O generally being slower on Windows; maybe that's something that'd help on macOS as well?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113073/new/

https://reviews.llvm.org/D113073



More information about the llvm-commits mailing list