Gentoo Archives: gentoo-performance

From: Chris Davies <c.davies@×××××××.org>
To: gentoo-performance@g.o
Subject: Re: [gentoo-performance] Re: (forw) -fbranch-probabilities optimisation
Date: Sat, 17 May 2003 21:42:16
In Reply to: [gentoo-performance] Re: (forw) -fbranch-probabilities optimisation by Jonathan Chocron
No, it shouldn't cause any instability.

It merely modifies what the compiler does anyway, which is to provide hints to the processor about which branch it should speculatively execute.


* Jonathan Chocron (chocronj_l@×××××.fr) wrote:
> Hi, > > I am afraid I am not skilled enough to answer our question. However, I > am very interested in what you say. Do you know if this optimization might cause > some instability in the system ? > > I must say, I hav subscribed to that list about one week ago, and your > post is the first I have ever seen, so I would not worry about > cross-posting. > > Jonathan > > On Sat, 17 May 2003, Chris Davies wrote: > > > Sorry about the cross post, I didn't realise this list existed. > > > > ----- Forwarded message from Chris Davies <c.davies@×××××××.org> ----- > > > > Hi, > > > > I had the idea to build -fbranch-probabilities optimisation into portage. This is where a sample run of data is taken using the program compiled with -fprofile-arcs, and that data then used to reorganise the object code so conditional branches are layed out in a more efficient manner. > > > > To give an idea about how much time this optimisation actually saves, I ran a test with bladeenc (an MP3 encoder) encoding an entire album of wav files. The CFLAGS used only differed by a the -fbranch-probabilities, and the test was run 5 times to get an average. The result was that the version with no branch data took 8.35.106s on average to complete the encoding, whereas the the optimised version took only 8.11.502s. The branch data was 64KBs in total. > > > > Does this sound like something we could work into portage? I initially had the idea of building patches for every package likely to be improved by this optimisation (mainly CPU bound ones) and just applying them to the package before compilation. The user could then choose wether or not to actually use the data by including or excluding -fbranch-probabilities in make.conf. > > > > Obviously I'd have to work up some kind of test rig to automatically generate arc data for packages, but that shouldn't be too much of a problem as long as we keep the number of packages under control. The only problem I can see is that -fbranch-probabilities spits out ugly warnings if no arc data is present, although in this situation gcc defaults back to it's standard behaviour (I think). > > > > Thoughts? Opinions? > > Thanks, > > C.Davies > > > > > > -- > > gentoo-dev@g.o mailing list > > > > ----- End forwarded message ----- > > > > -- > > gentoo-performance@g.o mailing list > > > > > > -- > Précision importante : les services de mon ancien fournisseur > d'adresse e-mail étant dernièrement décevant, je suis en train de > changer d'adresse. Veuillez donc m'écrire à chocronj@×××××××.com (il > suffit de répondre à ce mail). > > -- > gentoo-performance@g.o mailing list
-- gentoo-performance@g.o mailing list