-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Huge performance drop for fsc.exe/dll #74286
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @dotnet/gc Issue DetailsDescriptionTracking issue to cover dotnet/fsharp#13730 Since .NET 7 preview 3 the performance of the F# compiler (fsc.dll/fsc.exe) on large inputs has dropped by about 8x (yes, 800% regression). This stems from region-based GC being enabled by default. Details are above. Particular characteristics are
Previously .NET Framework and .NET Core GC has performed well with this application Reproduction StepsSee repro steps in dotnet/fsharp#13730 for the particular case where the compiler is used to compile the F# compiler. We expect the same performance problems on any large inputs to the F# compiler. Expected behaviorSee repro steps in dotnet/fsharp#13730 where you can run the compiler with various version of .NET runtime by adjusting settings. Performance of the F# compiler should match previous versions Actual behaviorPerformance has degraded by about 8x, 200+ second generation GCs where previously there was one. Regression?Yes Known WorkaroundsNo perfect workarounds.
ConfigurationSee links above. Performance testing has only been done on Windows. Other informationSee discussion linked above
|
we can repro it and are investigating. |
this is due to the accounting for SIP regions. I will make a fix soon. you should not have this problem with the latest build since SIP isn't on by default. |
Thank you Maoni! Will work with @vzarytovskii to validate |
Thanks @Maoni0! I'll leave to @vzarytovskii and others to validate |
Description
Tracking issue to cover dotnet/fsharp#13730
Between .NET 7 preview 2 and preview 3 the performance of the F# compiler (fsc.dll/fsc.exe) on large inputs dropped by about 8x (yes, 800% regression). This stems from region-based GC being enabled by default.
Details are above. Particular characteristics are
Previously .NET Framework and .NET Core GC has performed well with this application
Reproduction Steps
See repro steps in dotnet/fsharp#13730 for the particular case where the compiler is used to compile the F# compiler. We expect the same performance problems on any large inputs to the F# compiler.
Expected behavior
See repro steps in dotnet/fsharp#13730 where you can run the compiler with various version of .NET runtime by adjusting settings. Performance of the F# compiler should match previous versions
Actual behavior
Performance has degraded by about 8x, 200+ second generation GCs where previously there was one.
Regression?
Yes
Known Workarounds
No perfect workarounds.
DOTNET_gcServer=1
helps signficantly but this still gives a 25% slowdown.Configuration
See links above. Performance testing has only been done on Windows.
Other information
See discussion linked above
The text was updated successfully, but these errors were encountered: