-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ILLink takes a mysteriously long time to process Microsoft.Graph #87050
Comments
No easy guidance. Although dotTrace is available on macOS it's not free. There's I'd probably start with creating illink repro (https://github.com/vitek-karas/illinkrepro/) from the msbuild log file. That can be run in isolation, and it would be easier to profile. |
Unfortunately illink is not multi-threaded - that said the output is probably not interesting, it can be really anything and the interesting bit would be which method it was processing, but that's not visible from the output. |
Tagging subscribers to this area: @agocke, @sbomer, @vitek-karas Issue DetailsDescription
Alternatively, these alternate repros might work on Windows:
DataIncluding Microsoft.Graph.dll in the ILLink task Excluding Microsoft.Graph.dll Configuration
Analysis
|
I was able to reproduce this behavior with the simplified repro steps at microsoftgraph/msgraph-sdk-dotnet#1811. It is the same issue that was fixed in dotnet/linker#3094. This fix isn't present in the 7.0.102 SDK - you'll need at least 7.0.302 to get the fix. I've confirmed that this SDK doesn't hit the issue. |
@sbomer, thank you for identifying the problem and sorry for raising an old bug. |
I have similar problem, still with latest SDK 7.0.302 (from 7 Preview8). When trimming, I can't build my solution (seems to take ages - I tried for 2 hours) as long as some of the csprojs are higher than net5, except main executable. So I'm using net5.0 for class libraries. Tested with SDK 7.0.302 |
@michaldobrodenka it's possible that there are other performance problems - would you mind filing a new issue? Repro steps would be helpful for us to investigate. Thanks! |
Description
dotnet publish -c Release -f net7.0-ios16.1 -r ios-arm64
Alternatively, these alternate repros might work on Windows:
cc @vitek-karas, @filipnavara
Data
Including Microsoft.Graph.dll in the ILLink task
msbuild_.6.zip
ILLink duration: 52 mins 53 seconds
Excluding Microsoft.Graph.dll
msbuild_(7).zip
ILLink duration: 3 mins 10 seconds
Configuration
Analysis
PublishTrimmed
causingdotnet publish
to hang #86379 (comment)@filipnavara, if you have any guidance on how I can profile the linker like this I'll happily do it and post the results back here.
The text was updated successfully, but these errors were encountered: