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

Reply via email to