Skip to content

Ignore inlining costs for precompilation with --compile=all (#53798) #233

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

Open
wants to merge 1 commit into
base: v1.10.2+RAI
Choose a base branch
from

Conversation

kpamnany
Copy link
Collaborator

@kpamnany kpamnany commented May 15, 2025

PR Description

This helps to minimize the amount of missed precompiles that occur by eliding the inlining cost check when julia is run under --compile=all. This will lead to
slightly larger sysimage sizes. However, in practice it leads to more extensive and successful precompilation, which can minimize the number of JIT events in
call sites with dynamic dispatch.

This is an alternative to JuliaLang#53547, where removing the inlining cost check was made universal. However, that lead to ~15% larger sysimage sizes by default. This implements Jeff's suggestion that this mode be enabled under --compile=all.

Also added the fix to this PR mentioned here.

Checklist

Requirements for merging:

…ang#53798)

This helps to minimize the amount of missed precompiles
that occur by eliding the inlining cost check when julia is
run under `--compile=all`. This will lead to
slightly larger sysimage sizes. However, in practice it leads
to more extensive and successful precompilation, which can
minimize the number of JIT events in
call sites with dynamic dispatch.

This is an alternative to JuliaLang#53547, where removing the inlining
cost check was made universal. However, that lead to ~15% larger
sysimage sizes by default. This implements Jeff's  suggestion that
this mode be enabled under `--compile=all`.
Copy link
Member

@NHDaly NHDaly left a comment

Choose a reason for hiding this comment

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

LGTM! Before merging, can you check what the impact is on our binary build?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants