-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
precompile: skip small functions #26196
Conversation
These are likely to never be called directly, and would be quick to compile if they happened to be.
Running with Pkg3 precompilation on, I get the following with GNU Time: Before PR:
After PR:
There seem to be some slight regressions in first call timing 0.5s -> 0.8s for first call to |
Seems like a huge win to me. |
FWIW, current master (no Pkg3 precompile) is at |
Verification runs on buildbots: ubuntu32: https://build.julialang.org/#/builders/68/builds/817 (this one doesn't really matter, it's just as verification that failures on x86 aren't due to something weird about the old CentOS images we use for the |
Confirmed that this PR passes tests on all the buildbots, tragically the win32 buildbot fails on |
I don't see any error messages from the doc build. Is there a way to get them? |
For some reason it's saved into |
I applied the hotfix to the windows buildbots, I'm re-running the win32 build of this branch here: https://build.julialang.org/#/builders/44/builds/822 |
We're good to go on win32. |
Based on the analysis @KristofferC did in #26767, the premise of this PR seems like it may be false. |
These are likely to never be called directly, and would be quick to compile if they happened to be. In v0.6, I used to be manually excluding many of these from the sysimg; this is just a more general.
before
2565541888 maximum resident set size # 2.5 GB
after
1980424192 maximum resident set size # 2.0 GB
(build time and .ji size are also about proportionally (~25%) improved)