dotnet / dotnet/android

[CoreCLR] Enable cached ReadyToRun for Android Debug builds

Open
#12,117 4 comments 1 reaction 2 assignees Claimed by @kotlarmilos View on GitHub
Area: CoreCLR enhancement needs-triage
Dominant language
C#
Stars
2.1k
Forks
579
Avg merge
1d 20h
Merged PRs (30d)
257

Description

## Summary

CoreCLR Android Debug builds currently use JIT compilation for all assemblies. Enable cached ReadyToRun compilation for stable framework and SDK assemblies, including `System.Private.CoreLib.dll`, to improve startup performance while keeping user assemblies as IL for normal debugging and incremental development.

Android Debug application size is not a primary constraint. The ReadyToRun output should be generated once for each RID and stable framework input set, then reused by subsequent builds. Changes limited to user assemblies must not rerun crossgen2.

This issue covers non-profiled Debug ReadyToRun.

## Tasks

- Define the framework and SDK assembly set, including `System.Private.CoreLib.dll`
- Enable ReadyToRun by default for CoreCLR Debug builds
- Keep user assemblies out of ReadyToRun compilation
- Cache ReadyToRun output by RID and framework inputs
- Ensure user-code changes do not invalidate the ReadyToRun cache
- Integrate the output with fast deployment

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.