-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Updated RemotePingPing
to also support .NET 9
#7392
base: dev
Are you sure you want to change the base?
Conversation
.NET 8First run
Second run:
Third run:
.NET 9First run
Second run:
Third run:
TakeawaysThere are some data points that make it look like .NET 9 can really outperform .NET 8 (i.e. ~450k on the step 2 of the third iteration) but overall the results are quite a bit lower on .NET 9 than they are on .NET 8, by about 8-10%. I'll retry this later from a cold start because I wonder if CPU heating is a factor - and my grafana dashboard for monitoring that machine doesn't give me that info right now - that would also explain why all of the .NET 8 numbers are lower than they were on the initial run too. |
I'll re-run the numbers again from a cold start but I'm getting #5385 vibes from this so far |
Was given a hint on Twitter that the culprit with the performance numbers might be the new GC mode DATAS introduced in .NET 9, so I've decided to re-run the numbers with that setting disabled via MSBuild properties. .NET 9 w/ DATAS DisabledRun 1
Run 2
Run 3
TakeawaysIt definitely looks like DATAS, which is enabled by default in .NET 9, was responsible for the throughput degradation we observed. With it disabled it looks like .NET 9 performs slightly faster than .NET 8 and with a peak observed performance that is higher in absolute terms. This is only looking at throughput data - these benchmarks don't consider GC. |
So if it's just a GC setting (and therefore, not a bug in the runtime), no risk of #5385 - we'll just need to see how things going with real-world applications that upgrade to .NET 9. |
Won't run on the build system without some updates, but figured we should give it a try