[LLVMdev] On LLD performance

Rafael EspĂ­ndola rafael.espindola at gmail.com
Fri Mar 20 15:23:54 PDT 2015

On 20 March 2015 at 18:08, Rui Ueyama <ruiu at google.com> wrote:
> Newly-added undefined symbols may be solved by other file in the same
> archive, so you've got to restart scanning from beginning. You would visit
> the same symbol many times. Is that faster?

I don't expect many passes in practice.

You can also avoid looking at the symbols of members you already
added. To do that you would need to keep just a table of indexes or
"double buffer" the list: at each pass either a member is added or the
symbol pointers are added to the other buffer. At the end of the pass,
swap the buffer.

You can also save the hash computation.


More information about the llvm-dev mailing list