Skip to content

Conversation

@radekdoulik
Copy link
Member

That helps to process the assembly faster.

Process Mono.Android.dll times:

Before:

whole       37.34 real        37.29 user         2.04 sys
types        7.02 real         6.54 user         1.17 sys

After:

whole       33.84 real        34.99 user         1.01 sys
types        4.41 real         4.76 user         0.36 sys

Where whole means process all types in the assembly and types
means use the --types option to process only listed types.

The listed types:

# XA template startup, Mono.Android
#
Android.Runtime.UncaughtExceptionHandler
Java.Interop.TypeManager\+JavaTypeManager
Android.Views.View\+IOnClickListenerImplementor

# XForms template, Mono.Android
#
Android.Animation.ValueAnimator\+IAnimatorUpdateListenerImplementor
Java.Lang.Thread\+RunnableImplementor

That helps to process the assembly faster.

Process `Mono.Android.dll` times:

Before:
    whole       37.34 real        37.29 user         2.04 sys
    types        7.02 real         6.54 user         1.17 sys

After:
    whole       33.84 real        34.99 user         1.01 sys
    types        4.41 real         4.76 user         0.36 sys

Where *whole* means process all types in the assembly and *types*
means use the `--types` option to process only listed types.

The listed types:

    # XA template startup, Mono.Android
    #
    Android.Runtime.UncaughtExceptionHandler
    Java.Interop.TypeManager\+JavaTypeManager
    Android.Views.View\+IOnClickListenerImplementor

    # XForms template, Mono.Android
    #
    Android.Animation.ValueAnimator\+IAnimatorUpdateListenerImplementor
    Java.Lang.Thread\+RunnableImplementor
@jonpryor
Copy link
Contributor

Let's just make sure that we don't load jnimarshalmethod-gen.exe into an MSBuild process. :-)

Related: dotnet/android@fc6b7e9

...which does the opposite: moves from using InMemory=true to InMemory=false, which makes the <BuildApk/> task slower -- which is largely what you see in this PR -- but makes the overall build time faster, presumably because there are fewer/smaller GC's going on.

In the case of this PR, jnimarshalmethod-gen.exe exits relatively quickly, so presumably there doesn't need to be a GC or as many GC's.

@jonpryor jonpryor merged commit 64d1d1a into dotnet:master Sep 10, 2018
@github-actions github-actions bot locked and limited conversation to collaborators Apr 14, 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