[lld] r286100 - [ELF] Make InputSection<ELFT>::writeTo virtual
Rafael EspĂndola via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 8 03:11:05 PST 2016
On 8 November 2016 at 05:44, Rafael EspĂndola
<rafael.espindola at gmail.com> wrote:
> Why virtual and not a switch on Kind?
>
> It is odd to have two dispatch systems in the same type. This also
> adds a vtable pointer to a pretty common class. Have you benchmarked
> it?
Reverting your patch I get:
firefox
master 7.076592678
patch 7.045007685 1.00448331562x faster
firefox-gc
master 7.272410408
patch 7.255948085 1.00226880386x faster
chromium
master 4.886548772
patch 4.856506268 1.00618603217x faster
chromium fast
master 1.817117752
patch 1.798675043 1.01025349691x faster
the gold plugin
master 0.334146085
patch 0.334137857 1.00002462457x faster
clang
master 0.566548508
patch 0.564552724 1.00353515963x faster
llvm-as
master 0.033392083
patch 0.033195595 1.0059190986x faster
the gold plugin fsds
master 0.363725583
patch 0.361394799 1.00644941213x faster
clang fsds
master 0.649312555
patch 0.645128174 1.00648612348x faster
llvm-as fsds
master 0.030836558
patch 0.030612317 1.00732518875x faster
scylla
master 3.139408801
patch 3.143890138 1.00142744615x slower
So it does look like at least constraining the vtable to the synthetic
input classes would be a good thing. Can you take a look?
Cheers,
Rafael
More information about the llvm-commits
mailing list