4 ms·
Loading new Julia processes takes long because the standard library is rather large. One big part of v1.10 has been the excision of more standard libraries out
by ChrisRackauckas 3y ago
Loading new Julia processes takes long because the standard library is rather large. One big part of v1.10 has been the excision of more standard libraries out of the the core image. This required some of the v1.9 and v1.10 improvements because things like `using Pkg` was practically instant as a result of Pkg being in the system image, and thus moving these out of the base system image without a major regression required all of the package binaries infrastructure. The ecosystem is now getting ready for this change with recently all packages now requiring the versioning of standard libraries, standard libraries are now versioned independent of Julia and can do their own releases, so they are very close to be standalone. I'm not sure the progress with this in v1.11 but I think the intention was fto make it so that things like Pkg do not load with the start of Julia. The big elephant in the room there is then for BLAS to not load until `using LinearAlgebra`. The majority of the startup time is just spinning up BLAS threads the last time I checked, and with all of these other changes in place we should be ready to test this removal.
- sanderjd 3y agoUseful info!! This is sort of a lazy-web thing, but do you know where this work is being organized or how one might start contributing to it?
- sundarurfriend 3y agoI don't think there's a central organizing place, the work is happening across several Github issues and PRs. There's the Internals subforum [1] on Discourse if you have questions or need guidance, and there's a #internals channel on the Slack too. [1] https://discourse.julialang.org/c/dev/5 https://discourse.julialang.org/c/dev/5