[PATCH] D63344: lld/elf: Deduplicate undefined symbol diagnostics

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 18 06:25:03 PDT 2019


thakis added a comment.

> I'd think that what you should actually compare is the time to get an error message before this patch and after this patch, instead of the total link time. If lld spends zero time before relocation processing (which is unrealistic but just an example), users would have been able to get an error message immediately (assuming that relocations errors are everywhere) and they would have to wait 1300 ms after this patch.
> 
> But if you wait for 10 seconds for lld to start relocation processing, additional 1 second may not be a big deal.

Ah, I see. I added more timers:

    Before reloc scanning:      12705 ms ( 66.5%)
    Reloc scanning:              1362 ms (  7.1%)
    After reloc scanning:        5046 ms ( 26.4%)
  -------------------------------------------------
  Total Link Time:              19113 ms (100.0%)

So before you'd get an error 12.7s-14.0s in, now it's consistently after 14s. (But if there are multiple errors that scroll by, chances are you could only act after 14s previously as well.)

grimar, should I keep the current version with the predicate, or the version with the IsWarning flag? I don't have a strong preference.

And would there be interest in a -time-report flag that adds a summary like the above? (Not with "before reloc scanning" and "after reloc scanning", but with timers like "reading inputs" etc, like lld/COFF has.)


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

https://reviews.llvm.org/D63344





More information about the llvm-commits mailing list