-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Expression.Compile performance regression on .NET7 RC1 #75891
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. |
Reproduces on RC1 but doesn't reproduce on Main |
@EgorBo does it mean that in the final .NET7 release this will be fixed? If so I can close the issue |
No, Main is .NET8, we need to check this on the latest .NET 7.0 daily build |
Can you try the benchmark with COMPlus_EnableWriteXorExecute=0? We have a fix for a similar situation in RC2 cc @mangod9 |
Yes, I can confirm disabling W^X fixes the regression:
Feel free to close the issue if it will be fixed in the RC2 |
It would be good to validate with RC2. The fix we have in RC2 is to cache the W^X mapping, so rapid use of pages (like this micro benchmark) should notice a benefit. |
marking for 7 for now till we confirm its fixed in RC2. @KeterSCP can you please try a build from rc2 installer repo: https://github.com/dotnet/installer/tree/release/7.0.1xx |
@mangod9 could you please tell me how can I try the RC2 build? should I build it from source or there are already built installers? |
yeah you can use the installer link listed here: https://github.com/dotnet/installer/tree/release/7.0.1xx#table. Just note that daily builds are not signed |
Thanks for the tip @mangod9! I can confirm that regression was fixed on the latest .NET7 build:
|
Thanks for confirming @KeterSCP. Closing this issue then. |
Description
Running simple benchmark to test performance of Expression.Compile shows regressions on .NET7 RC1
Benchmark code
Regression?
Yes. On .NET 6 this is ~50% faster
Data
The text was updated successfully, but these errors were encountered: