On 11/29/2017 11:49 AM, Aldy Hernandez wrote: > On 11/27/2017 06:27 PM, Jeff Law wrote: >> On 11/07/2017 10:33 AM, Aldy Hernandez wrote: > >>> Without further ado, here are my monumental, earth shattering >>> improvements: >>> >>> Conditional branches >>> Without patch: 411846839709 >>> With patch: 411831330316 >>> %changed: -0.0037660% >>> >>> Number of instructions >>> Without patch: 2271844650634 >>> With patch: 2271761153578 >>> %changed: -0.0036754% >> So that's pretty small. A really good improvement would be on the order >> of a half-percent reduction in runtime conditional branches. I usually >> test with .i files that have enable-checking turned on -- which tends to >> give lots of opportunities due to the redundancies in our checking code. >> >> On a positive note, you're eliminating roughly 4.5 other dynamic >> instructions for every runtime conditional branch you remove, which is >> actually a good ratio. 3.5 is what I typically see for a fairly >> extensive amount of work. Patrick P's work last year was on the order >> of 7.5. So while it didn't fire often, when it did it was highly >> effective. > > I've retested with .ii files gathered from a stage1 build with > --enable-checking=yes,all. The results are an order of magnitude better > but not impressive by any means: Ack. It'd need another order of magnitude to start getting into that interesting range by itself :-) You're still hitting that 4.5 ratio of non-branch to branch instructions eliminated. So it's higher value when it applies than most of the stuff I've done through the years.
>> We have installed changes of this nature when they were part of a larger >> set of changes, particularly if they helped us elsewhere (like >> eliminating key path to silence a bogus warning or addressing other >> regressions). > > I don't know if the above changes your view, but I am not losing sleep > over this, so no worries. I will just keep accumulating these along > with the myriad of other changes I have ;-). I'm not sure it changes anything either. But I'll certainly keep it in mind as I start digging deeper into the buglists for gcc-8. If it helps in the bugfixing effort, then we'll have an interesting decision to make. jeff