-
Notifications
You must be signed in to change notification settings - Fork 666
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
Update web.csproj #6535
Update web.csproj #6535
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is PGO ?
It stands for Profile guided optimization! In case if you are not aware -> https://en.wikipedia.org/wiki/Profile-guided_optimization |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems interesting.
is it something that is production-ready / recommended for production ?
is it something that could be applied on other csharp frameworks ?
Yes, of course it's production ready. We can apply that to all projects. Moreover in .NET 8 it's already on by default. So we can merge this PR in short. I also want to enable one more option, but I would be doing that with next PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then please replicate this option on all frameworks :-)
could it also be used on F#
? or not at all ?
It should work on F# as well, but I really never tried. I guess we can get this merge to C# first and then we can try F# after that! |
Let the authors of the FW take care of them, I just made it on official aspnetcore framework! |
This is what I asked before @waghanza |
Not sure then why this reply was made #6488 (comment). I'm honestly not the best person to say if this is legitimate or not |
PGO is ok. My comment was specifically about D's horrible But PGO, LTO, -O2, stuff like that, are entirely separate (in fact, D's broken -release switch doesn't even actually enable any of those things!) and those are fine to use. |
I understand what you guys are suspecting here like hacky optimization and things. But let me clear one thing enabling PGO is not a hacky optimization technique, it's the compiler-level static optimization so nothing is odd there! Moreover, Dynamic PGO is by default going forward with .NET 8 (dotnet/runtime#86225), so nothing is hacky here! |
Ok, then. This was specific to |
Not sure we should. My point is that we can merge this, if it's supported by |
I don't think it will degrade perf, moreover, it will improve it by far! Just look at the linked issues here at the end of this dotnet/runtime#86225 😅😅 |
I guess we are ready to merge this unless someone has doubts about this! |
I have not doubt about this configuration, but I would prefer to replicate it on each frameworks Not sure we will use |
Enable PGO