-
-
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
22% faster startup because sysimage is 33% smaller #51082
Conversation
There is ongoing work to move out stdlibs from the sysimage, #49130, #49132, #49134, etc. However, this needs to be done one by one and checks against load time and first call latency has to be done. And for some packages like Pkg there needs to be hooks in place to load the package on |
First call of what? Most programs do not care about first call latency of anything related to e.g. LibGit2, Tar, Downloads, and well Pkg, the major offender it seems. Do you have an idea of any other big offender to start with excising? Or a likely first call issue? Wouldn't it be offset by the faster startup? Fully? Everything can be precompiled in the stdlibs.
Are you opposed to this if I make it work? You closed the issue on that, implying you don't want it done, at JuliaLang/Pkg.jl#3570 I was looking into what I can excise and still start. I forgot that I disabled the Pkg, I believe everything else still works. Pkg alone pulls in 17 dependencies of all 27, many of are not needed by general programs (so it's blocking good progress): Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" |
First call to a function in that stdlib. For example a
Pkg was moved out of the sysimage but that caused issues (related to precompilation) so that had to be reverted (JuliaLang/Pkg.jl#3442). Moving |
(You and) I meant "first call [latency]". I.e. that's a bad example to worry about latency. But yes it has to work, and ] for Pkg mode, so reopen this issue I pointed to? Do you have an example of any function you worry about latency wise in any other stdlib (or you think would simply not work)? |
Hmm, I don't understand why wanting Once Pkg is out, that frees up quite a bit of other stdlibs that can be moved out: (You can also see from those PRs other things that need updating, like various make files and tests). |
I mean compiling from source code on demand should be ok, assuming it doesn't take long. I.e. longer ok, but neither has to be if precompiled into its stdlib. But loading the Pkg code (and more e.g. the deprecated Downloads) is worse for all users, which don't use it, at least for benchmarks. |
Hitting |
To be clear, the goal is indeed to move out Pkg from the sysimage. It just requires the proper ground work. |
No description provided.