public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
* Re: [PATCH 0/3] libdw: Tweaks for optimization and clarity
@ 2014-12-11 19:31 Josh Stone
  0 siblings, 0 replies; 3+ messages in thread
From: Josh Stone @ 2014-12-11 19:31 UTC (permalink / raw)
  To: elfutils-devel

[-- Attachment #1: Type: text/plain, Size: 1289 bytes --]

On 12/10/2014 06:48 PM, Josh Stone wrote:
> While looking at performance for Mark's form-len patch, I found a few areas
> that I felt could be cleaned up a bit.
> 
> 1. die->abbrev initialization was duplicated in a few places.
> 2. dwarf_hasattr needn't look at the die at all, just abbrev.
> 3. CU start/end boundaries don't need to be computed from section data
>    every time -- just remember them in Dwarf_CU.
> 
> These patches get me back down to about 71s for "varlocs -k >/dev/null". :)
> ---
>  libdw/ChangeLog           | 19 +++++++++++++++++++
>  libdw/dwarf_child.c       | 47 ++++++++++++++++++-----------------------------
>  libdw/dwarf_cuoffset.c    |  4 ++--
>  libdw/dwarf_dieoffset.c   |  4 ++--
>  libdw/dwarf_getattrs.c    | 21 ++++++++-------------
>  libdw/dwarf_hasattr.c     | 42 ++++++++++++++++++++++++++++++++++++++----
>  libdw/dwarf_haschildren.c | 20 ++++----------------
>  libdw/dwarf_siblingof.c   |  6 ++----
>  libdw/dwarf_tag.c         | 20 +++++---------------
>  libdw/libdwP.h            | 28 +++++++++++++++++++++++++++-
>  libdw/libdw_findcu.c      |  6 +++++-
>  11 files changed, 130 insertions(+), 87 deletions(-)
> 

I tweaked comments and ChangeLog entries as Mark asked, and all three
patches are now on master.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 0/3] libdw: Tweaks for optimization and clarity
@ 2014-12-11 11:07 Mark Wielaard
  0 siblings, 0 replies; 3+ messages in thread
From: Mark Wielaard @ 2014-12-11 11:07 UTC (permalink / raw)
  To: elfutils-devel

[-- Attachment #1: Type: text/plain, Size: 344 bytes --]

On Wed, 2014-12-10 at 18:48 -0800, Josh Stone wrote:
> These patches get me back down to about 71s for "varlocs -k
> >/dev/null". :)

Nice! But I am sure I'll take some of that speedup away again when I
finish my checked leb128 work :) Your cleanups will actually help with
that. I'll rebase my work on these patches.

Cheers,

Mark

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 0/3] libdw: Tweaks for optimization and clarity
@ 2014-12-11  2:48 Josh Stone
  0 siblings, 0 replies; 3+ messages in thread
From: Josh Stone @ 2014-12-11  2:48 UTC (permalink / raw)
  To: elfutils-devel

[-- Attachment #1: Type: text/plain, Size: 1099 bytes --]

While looking at performance for Mark's form-len patch, I found a few areas
that I felt could be cleaned up a bit.

1. die->abbrev initialization was duplicated in a few places.
2. dwarf_hasattr needn't look at the die at all, just abbrev.
3. CU start/end boundaries don't need to be computed from section data
   every time -- just remember them in Dwarf_CU.

These patches get me back down to about 71s for "varlocs -k >/dev/null". :)
---
 libdw/ChangeLog           | 19 +++++++++++++++++++
 libdw/dwarf_child.c       | 47 ++++++++++++++++++-----------------------------
 libdw/dwarf_cuoffset.c    |  4 ++--
 libdw/dwarf_dieoffset.c   |  4 ++--
 libdw/dwarf_getattrs.c    | 21 ++++++++-------------
 libdw/dwarf_hasattr.c     | 42 ++++++++++++++++++++++++++++++++++++++----
 libdw/dwarf_haschildren.c | 20 ++++----------------
 libdw/dwarf_siblingof.c   |  6 ++----
 libdw/dwarf_tag.c         | 20 +++++---------------
 libdw/libdwP.h            | 28 +++++++++++++++++++++++++++-
 libdw/libdw_findcu.c      |  6 +++++-
 11 files changed, 130 insertions(+), 87 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-11 19:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-11 19:31 [PATCH 0/3] libdw: Tweaks for optimization and clarity Josh Stone
  -- strict thread matches above, loose matches on Subject: below --
2014-12-11 11:07 Mark Wielaard
2014-12-11  2:48 Josh Stone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).