Skip to content
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

[android] update AOT profiles #5674

Merged
merged 1 commit into from
Mar 30, 2022

Conversation

jonathanpeppers
Copy link
Member

Lots of APIs changed, and we noticed our lab's perf dashboard shows
the .NET Podcast app going from 1036ms to 1068ms on a Pixel 4a device.

image

Updating the profile, I get better numbers on a Pixel 5:

Before:
Average(ms): 858.1
After:
Average(ms): 835.7

This was a 10-run average of the .NET Podcast app.

Lots of APIs changed, and we noticed our lab's perf dashboard shows
the .NET Podcast app going from 1036ms to 1068ms on a Pixel 4a device.

Updating the profile, I get better numbers on a Pixel 5:

    Before:
    Average(ms): 858.1
    After:
    Average(ms): 835.7

This was a 10-run average of the .NET Podcast app.
@Redth Redth added this to the 6.0.300-rc.1 milestone Mar 30, 2022
@jonathanpeppers jonathanpeppers added the legacy-area-perf Startup / Runtime performance label Mar 30, 2022
@@ -1082,15 +1080,10 @@ Methods:
int System.Private.CoreLib.Interop/Sys:PRead (System.Runtime.InteropServices.SafeHandle,byte*,int,long)
int System.Random:Next (int,int)
int System.Random/XoshiroImpl:Next (int,int)
int System.Reflection.Emit.DynamicMethod:AddRef (object)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yay!

@@ -553,9 +554,6 @@ Methods:
bool System.Net.Http.HttpRuleParser:IsTokenChar (char)
bool System.Net.Http.QPack.QPackEncoder:EncodeNameString (string,System.Span`1<byte>,int&)
bool System.Number:TryFormatInt32 (int,int,System.ReadOnlySpan`1<char>,System.IFormatProvider,System.Span`1<char>,int&)
bool System.Number:TryParseDouble (System.ReadOnlySpan`1<char>,System.Globalization.NumberStyles,System.Globalization.NumberFormatInfo,double&)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kind of interesting that something this low-level is no longer needed. Parsing numbers is pretty basic.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a fair bit has moved into the xaml compiler. @StephaneDelcroix has been doing some magic there.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eerhardt I'll double check some of these, probably worth looking at methods.txt in the .NET Podcast app and see what the slowest JIT-d methods are.

@jonathanpeppers jonathanpeppers merged commit 243a6c8 into dotnet:main Mar 30, 2022
@jonathanpeppers jonathanpeppers deleted the rc1-aotprofile branch March 30, 2022 17:12
@github-actions github-actions bot locked and limited conversation to collaborators Dec 23, 2023
@Eilon Eilon added the t/perf The issue affects performance (runtime speed, memory usage, startup time, etc.) label May 10, 2024
@samhouts samhouts added the fixed-in-6.0.300-rc.1 Look for this fix in 6.0.300-rc.1! label Aug 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
fixed-in-6.0.300-rc.1 Look for this fix in 6.0.300-rc.1! legacy-area-perf Startup / Runtime performance t/perf The issue affects performance (runtime speed, memory usage, startup time, etc.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants