wip patch: Create SymbolBody for all symbols

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 13:07:19 PST 2016


On Thu, Mar 10, 2016 at 1:04 PM, Rafael EspĂ­ndola <
rafael.espindola at gmail.com> wrote:

> On 10 March 2016 at 15:24, Rafael EspĂ­ndola <rafael.espindola at gmail.com>
> wrote:
> >> I expect that after this change, we will be removing many isLocal()
> function
> >> calls because in many places we will be able to handle local and global
> >> symbols in the same way (because they will be represented in the same
> data
> >> structure.) Does this affect the performance?
> >
> > Maybe. I would expect it to still be impact by the fact that we always
> > look at member of a SymbolBody, instead of just comparing the value of
> > the pointer.
> >
> > I will try to benchmark the followup patches.
>
> OK, the followup patches are moving in the right direction. The times
> I got were:
>
> clang:
> trunk:  0.584276652
> patch1: 0.634406310, 1.0857978114107494X slower
> patch2: 0.632846966, 1.0831289661049128X slower
> patch3: 0.627446597, 1.0738861374183408X slower
>
> scylla:
> trunk: 4.134114228
> patch1: 3.991824123, 1.0356453843194533 faster
> patch2: 3.973432705, 1.0404389692564329 faster
> patch3: 3.823714500, 1.0811775377058093 faster
>

I'm inclined to accept these patches as it is definitely better from the
code health point of view.

But why are the two so different? I'd like to see which is common, slower
or faster.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160310/b4e4fd90/attachment.html>


More information about the llvm-commits mailing list