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

[Mono.Android] Remove more LINQ usage #5443

Merged
merged 1 commit into from
Dec 18, 2020

Conversation

radekdoulik
Copy link
Member

Context: #5442

Apk size of BuildReleaseArm64False/net6 comparison:

apkdiff --bs -e dll$ before.apk after.apk
Size difference in bytes ([*1] apk1 only, [*2] apk2 only):
  +         274 assemblies/Mono.Android.dll
    Type Android.Runtime.AndroidTypeManager
      -          42 Method System.Collections.Generic.IEnumerable`1<System.Type> GetTypesForSimpleReference (string)
      -          33 Method public void RegisterNativeMembers (Java.Interop.JniType, System.Type, string)
      +             Method System.Collections.Generic.IEnumerable`1<System.Type> <>n__0 (string)
      -             Type <>c__DisplayClass11_0
      -             Type <>c__DisplayClass11_1
      +             Type <GetTypesForSimpleReference>d__2
  -          67 assemblies/System.Private.CoreLib.dll
    Type System.Array
      -             Method public static void Fill (!!T[], !!T)
  -         424 assemblies/System.Linq.dll
    Type System.Linq.Enumerable
      -             Method public static System.Collections.Generic.IEnumerable`1<!!TResult> Repeat (!!TResult, int)
      -             Type RepeatIterator`1<TResult>
    Type System.Linq.ThrowHelper
      -             Method static void ThrowArgumentOutOfRangeException (System.Linq.ExceptionArgument)
Summary:
  -         217 Assemblies -0.03% (of 782,054)

Context: dotnet#5442

Apk size of BuildReleaseArm64False/net6 comparison:

    apkdiff --bs -e dll$ before.apk after.apk
    Size difference in bytes ([*1] apk1 only, [*2] apk2 only):
      +         274 assemblies/Mono.Android.dll
        Type Android.Runtime.AndroidTypeManager
          -          42 Method System.Collections.Generic.IEnumerable`1<System.Type> GetTypesForSimpleReference (string)
          -          33 Method public void RegisterNativeMembers (Java.Interop.JniType, System.Type, string)
          +             Method System.Collections.Generic.IEnumerable`1<System.Type> <>n__0 (string)
          -             Type <>c__DisplayClass11_0
          -             Type <>c__DisplayClass11_1
          +             Type <GetTypesForSimpleReference>d__2
      -          67 assemblies/System.Private.CoreLib.dll
        Type System.Array
          -             Method public static void Fill (!!T[], !!T)
      -         424 assemblies/System.Linq.dll
        Type System.Linq.Enumerable
          -             Method public static System.Collections.Generic.IEnumerable`1<!!TResult> Repeat (!!TResult, int)
          -             Type RepeatIterator`1<TResult>
        Type System.Linq.ThrowHelper
          -             Method static void ThrowArgumentOutOfRangeException (System.Linq.ExceptionArgument)
    Summary:
      -         217 Assemblies -0.03% (of 782,054)
@radekdoulik radekdoulik requested a review from jpobst December 18, 2020 14:50
@jonpryor jonpryor merged commit 09baa52 into dotnet:master Dec 18, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Jan 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants