> On Aug 9, 2017, at 11:33 AM, Arnold Schwaighofer <aschwaigho...@apple.com> 
> wrote:
> Mark do you have suggestions for Dave?

I’d suggest something similar to what Pavel said. My usual first step is to 
look at the output of -Xfrontend -debug-constraints, which in cases like this 
tends to be so verbose that you have to kill the compile after a little while 
and a few megabytes of output and start reviewing that output. Key things to 
look for are “(assuming”, which is printed for each disjunction choice, and 
“(trying” which is printed before each attempt at trying a type binding.

I took a quick look at this and based on the before/after output it looks like 
perhaps an optimization that picks favored overloads is no longer firing after 
your PR. As a result, rather than trying and successfully solving using integer 
operations for the arithmetic and stopping there, we exponentially attempt all 
combinations of all overloads of those operators. It would be very interesting 
to understand why that is since based on the description I would not expect 
your PR to have an impact on that.


>> On Aug 9, 2017, at 11:22 AM, David Zarzycki via swift-dev 
>> <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote:
>> Any tips on how to debug performance regressions?
>> And as aside, if this test is critical enough to cause a revert, why isn’t 
>> it in the public repo?
> This is part of a larger internal test.
>>> On Aug 9, 2017, at 14:04, Arnold Schwaighofer <notificati...@github.com 
>>> <mailto:notificati...@github.com>> wrote:
>>> Hi Dave,
>>> I have reverted this commit because it broke internal bots.
>>> import Foundation
>>> class P {
>>>     var x : Int = 0
>>>     var y : Int = 1
>>> }
>>> let dist : (P, P) -> Double = {
>>>   (p : P, s : P)  -> Double in
>>>     sqrt(Double((p.x-s.x)*(p.x-s.x) + (p.y-s.y)*(p.y-s.y)))
>>> }
>>> fails now with expression to complex.
>>> —
>>> You are receiving this because you authored the thread.
>>> Reply to this email directly, view it on GitHub 
>>> <https://github.com/apple/swift/pull/11397#issuecomment-321334844>, or mute 
>>> the thread 
>>> <https://github.com/notifications/unsubscribe-auth/ABBbbrS4O6QyW6_j4ksVB-fo2EPtmbWVks5sWfSigaJpZM4Oxfg->.
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev@swift.org <mailto:swift-dev@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-dev

swift-dev mailing list

Reply via email to