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] Use the faster java type name mapping #1890

Merged

Conversation

radekdoulik
Copy link
Member

This fixes #1831

Make sure we use the code path, which uses the typename.* maps. It
is much faster than JavaNativeTypeManager.ToJniName.

Tested with x86 emulator again. It saves 17ms (from 18ms to 1ms) in XA
template and 26ms (from 28ms to 2ms) in XamlSamples app. So it scales
well.

It also decreases JIT usage. XA template: Compiled methods 1954 to
1880.

This fixes dotnet#1831

Make sure we use the code path, which uses the `typename.*` maps. It
is much faster than `JavaNativeTypeManager.ToJniName`.

Tested with x86 emulator again. It saves 17ms (from 18ms to 1ms) in XA
template and 26ms (from 28ms to 2ms) in XamlSamples app. So it scales
well.

It also decreases JIT usage. XA template: *Compiled methods* 1954 to
1880.
@radekdoulik radekdoulik requested a review from jonpryor as a code owner June 27, 2018 14:06
@jonpryor jonpryor merged commit 5f277c8 into dotnet:master Jun 28, 2018
radekdoulik added a commit that referenced this pull request Jun 29, 2018
Fixes: #1831

Make sure we use the code path, which uses the `typename.*` maps.
It is much faster than `JavaNativeTypeManager.ToJniName()`.

Tested with x86 emulator again. It saves 17ms (from 18ms to 1ms) in
XA template and 26ms (from 28ms to 2ms) in XamlSamples app.

This change also decreases JIT usage: in the XA template app,
*Compiled methods* is reduced from 1954 to 1880 methods.
@github-actions github-actions bot locked and limited conversation to collaborators Feb 3, 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.

TypeManager.RegisterType() doesn't use type mappings
2 participants