This is the mail archive of the
mailing list for the elfutils project.
Re: [PATCH] libdw: Add get_uleb128 and get_sleb128 bounds checking.
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Mon, 15 Dec 2014 22:30:45 +0100
- Subject: Re: [PATCH] libdw: Add get_uleb128 and get_sleb128 bounds checking.
On Mon, 2014-12-15 at 11:34 -0800, Josh Stone wrote:
> On 12/14/2014 02:18 PM, Mark Wielaard wrote:
> > This finally adds bounds checking to get_[us]leb128 (with two exceptions,
> > see below). The performance results are a little puzzling, so I hope
> > Josh can take a look how things are for him.
> > On one system, with 3.10.0-123.13.1.el7.x86_64, varlocs -k slows down:
> > 0.160: 53.65
> > master: 52.24
> > mjw/pending: 56.35
> > But on another, with 3.17.4-301.fc21.x86_64, varlocs -k speeds up:
> > 0.160: 69.41
> > master: 69.03
> > mjw/pending: 68.29
> > Output is the same between versions for each system.
> These are probably different compilers too, right? So I suspect the
> newer compiler just noticed an optimization opportunity.
Yes they are. The first is 4.8.2, the second is 4.9.2.
If I run the tests with the binary of the second on the first system it
is a little faster. From slightly higher than 55 seconds to slightly
lower than 53 seconds. So GCC 4.9 does indeed produce a little faster
code compared to GCC 4.8.