Open vsfeedback opened 5 years ago
If this is nested invocations with lambdas, binding actually requires exponential time. Compiling is reducable to 3SAT. See https://blogs.msdn.microsoft.com/ericlippert/2007/03/26/lambda-expressions-vs-anonymous-methods-part-four/ and https://blogs.msdn.microsoft.com/ericlippert/2007/03/28/lambda-expressions-vs-anonymous-methods-part-five/
It was tricky to isolate my contrived solution. At least I better understand what's happening. However, the original body of code - which I can't share - would compile on 16.2 and choke up forever on 16.3, so something around this did change.
@MattLamari One thing that might have changed is the number of overloads of the methods you're using in your example. The APIs you are working with might have changed by adding new overloads.
This issue has been moved from a ticket on Developer Community.
16.2.3 would compile our work code, 16.3.0 Preview 2 seemed to hang forever.
It is hard to provide a stereotype of the problem without all prod code. Extracting the essence ended with a section of code that would take a disproportionately long time to compile; but would complete in about a minute.
I repeated the troublesome clause 4 more times, which causes RAM usage to blow up into the 10s of gigabytes (I went up to 40 then shut it off).
Leaving this code up in the 2019 IDE will cause it to crash during analysis within a few minutes; but compiling even via the command line will consume all the machine’s ram (and never complete).
The attached CS file, or the code below, will cause all manner of mayhem. If you remove the indicated duplicates of the 4-line clauses, compilation should complete but there will still be trouble with the IDE, and it will still take way too long to compile for such a tiny program.
Original Comments
Visual Studio Feedback System on 8/22/2019, 00:07 AM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
Original Solutions
(no solutions)