From: "Ilpo Järvinen" <ilpo.jarvinen-pxSi+dnQzZMxHbG02/KK1g@public.gmane.org> To: Arnaldo Carvalho de Melo <acme-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Cc: dwarves-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Subject: Re: speedup in tag lookup using hash tables Date: Tue, 12 Feb 2008 13:24:44 +0200 (EET) Message-ID: <Pine.LNX.4.64.0802121301180.31652@kivilampi-30.cs.helsinki.fi> (raw) In-Reply-To: <20080212000310.GB4157-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org> On Mon, 11 Feb 2008, Arnaldo Carvalho de Melo wrote: > Today I optimized the dwarves a bit by using a per object file > hash table for tag lookup, it yelded almost 50% speedup on pahole when > running on a vmlinux file :-) > > codiff doesn't makes that much tag lookups, so we didn't got > much improvements there, Because I had to do these file by file anyway, I ended up using modified timestamps in my scripts to avoid loading .o files altogether when one wasn't recompiled. It helped some. > but I'm doing experiments on dead tag elimination > that probably will help a lot there, but for that I have first to grok > Ulrich Drepper's libdisasm to find out what are the tags that are really > used by looking at accesses to register indexed memory areas that use as > a base pointer what is in local/global variables and function > parameters. > > This also will provide the basis for detecting access patterns > that will ultimatelly allow libdwarves_reorganize to do struct > reorganizations to improve locality of reference, etc. This sounds nice, I was thinking something similar earlier but would have tried to do that with some kind of source analysis. > Please take a look at v1.6 that I pushed today and tell me your > impressions. Thanks, I'll check that later on. My bruteforce inline remover run over all include/ stuff just finished yesterday after ~1.5 days (ie. ~5800 inlines compile tested on ~90 slaves, next time I'll have to plug ccache into that site-specific distribute thing I use to speed it up a lot :-)), I'll post the results later on to lkml+netdev with some patches and thoughts, the winner seems to be this beauty :-) : -110805 869 funcs, 198 +, 111003 -, diff: -110805 --- skb_put ...And 22 other are in 10000+ category and 235 1kB+ (some overlap exists due to __-funcs). What still remains to do are the non-include/ headers which might reveal some candies too. -- i.
next prev parent reply index Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-02-12 0:03 Arnaldo Carvalho de Melo [not found] ` <20080212000310.GB4157-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org> 2008-02-12 11:24 ` Ilpo Järvinen [this message] [not found] ` <Pine.LNX.4.64.0802121301180.31652-Y/UOj9v5BLQhZigby9b+C6cUovnZ0M2TMR2xtNvyitY@public.gmane.org> 2008-02-12 12:50 ` Arnaldo Carvalho de Melo [not found] ` <20080212125037.GE4157-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org> 2008-02-12 13:24 ` Ilpo Järvinen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=Pine.LNX.4.64.0802121301180.31652@kivilampi-30.cs.helsinki.fi \ --to=ilpo.jarvinen-pxsi+dnqzzmxhbg02/kk1g@public.gmane.org \ --cc=acme-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=dwarves-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Dwarves Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dwarves/0 dwarves/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dwarves dwarves/ https://lore.kernel.org/dwarves \ dwarves@vger.kernel.org public-inbox-index dwarves Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.dwarves AGPL code for this site: git clone https://public-inbox.org/public-inbox.git