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

Fully outline all GlobalRefs #56746

Merged
merged 1 commit into from
Dec 7, 2024
Merged

Fully outline all GlobalRefs #56746

merged 1 commit into from
Dec 7, 2024

Conversation

Keno
Copy link
Member

@Keno Keno commented Dec 3, 2024

This is an alternative to #56714 that goes in the opposite direction - just outline all GlobalRefs during lowering. It is a lot simpler that #56714 at the cost of some size increase. Numbers:

sys.so .ldata size:
This PR: 159.8 MB
Master: 158.9 MB

I don't have numbers of #56714, because it's not fully complete. Additionally, it's possible that restricting GlobalRefs from arguments position would let us use a more efficient encoding in the future.

@Keno Keno requested a review from vtjnash December 3, 2024 19:09
@vtjnash
Copy link
Member

vtjnash commented Dec 4, 2024

With #56724, these numbers also get better: they are 154.2 MB => 154.8 MB (sysimg data) and 254 MB => 260M (stdlibs folder)

@Keno Keno force-pushed the kf/outlineallglobals branch from d6bd32c to 0fc8cc1 Compare December 4, 2024 20:37
Keno added a commit to timholy/Revise.jl that referenced this pull request Dec 5, 2024
There's no guarantee that all include calls will be literal GlobalRefs
and in fact JuliaLang/julia#56746 will likely
make them never GlobalRef.
Keno added a commit to timholy/Revise.jl that referenced this pull request Dec 5, 2024
There's no guarantee that all include calls will be literal GlobalRefs
and in fact JuliaLang/julia#56746 will likely
make them never GlobalRef.
@Keno Keno force-pushed the kf/outlineallglobals branch from 0fc8cc1 to 0c18877 Compare December 5, 2024 01:25
@Keno
Copy link
Member Author

Keno commented Dec 5, 2024

Need to merge timholy/Revise.jl#869 then rerun CI here.

Keno added a commit to timholy/Revise.jl that referenced this pull request Dec 5, 2024
There's no guarantee that all include calls will be literal GlobalRefs
and in fact JuliaLang/julia#56746 will likely
make them never GlobalRef.
@Keno Keno force-pushed the kf/outlineallglobals branch from 0c18877 to 9758917 Compare December 5, 2024 22:56
This is an alternative to #56714 that goes in the opposite direction -
just outline all GlobalRefs during lowering. It is a lot simpler
that #56714 at the cost of some size increase. Numbers:

sys.so .ldata size:
This PR: 159.8 MB
Master: 158.9 MB

I don't have numbers of #56714, because it's not fully complete.
Additionally, it's possible that restricting GlobalRefs from arguments
position would let us use a more efficient encoding in the future.
@Keno Keno force-pushed the kf/outlineallglobals branch from 9758917 to 6955f4e Compare December 6, 2024 21:52
@Keno Keno merged commit 3a68b03 into master Dec 7, 2024
5 of 7 checks passed
@Keno Keno deleted the kf/outlineallglobals branch December 7, 2024 04:58
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.

2 participants