[LLVMdev] On LLD performance

Rui Ueyama ruiu at google.com
Fri Mar 20 14:42:54 PDT 2015


Rafael,

Your latest benchmark results look great. LLD took 1.38 seconds where gold
--threads takes 0.85 seconds. It needs to be faster, but that's not too bad.

On Thu, Mar 19, 2015 at 10:13 AM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> > Here's an update.
> >
> > After http://reviews.llvm.org/D8372 , I updated the profiling data.
> >
> > https://people.freebsd.org/~davide/llvm/lld-03162015.svg
> > It seems now 85% of CPU time is spent inside
> > FileArchive::buildTableOfContents().
> > In particular, 35% of the samples are spent inserting into
> > unordered_map, so there's maybe something we can do differently there
> > (e.g. , Rui's proposal of a concurrent map doesn't seem that bad).
> >
>
> Why do we even need to build the table from name to member?
>
> Can't we just walk "archive->symbols()" and check for each symbol if
> it is needed by the current link status?


Are you suggesting we do linear search instead of hash table lookup each
time ArchiveFile::find(StringRef symbolName) is called?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150320/8e67ab35/attachment.html>


More information about the llvm-dev mailing list