-
-
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
Make PrecompileTools into a stdlib #50923
base: master
Are you sure you want to change the base?
Conversation
This makes PrecompileTools an upgradable stdlib. While it will still live in its own repository, this allows it to be used by other stdlibs to lower their TTFX when they migrate out.
After a slack discussion with @KristofferC, we concluded that because we'd also need to make Preferences an upgradable stdlib, it might be better to vendor the ~60LOC needed from PrecompileTools. |
I think we only didn't make preferences as stdlib, because at the time we hadn't figured out how to make them upgradeable. @staticfloat and I want to eventually use Preferences for behaviour in Base (but not include Preferences in the sysimg) |
I'm happy to reopen this if we get to a point where we want it. |
I now want this :) |
Back from the dead! But we'll need Preferences before we can merge this, I think. |
Why?
:( |
I originally thought I would need it for #51350, but I was mistaken. I can see a use for this when we have a lot of upgradeable stdlibs that don't want to maintain explicit precompile statement lists. (We could also vendor a Preference free version, but I don't feel to bad about making Preferences an upgradeable stdlib.) |
Could we move some code from PrecompileTools.jl into In particular, the
|
Is there anything stopping us making Preferences.jl and PrecompileTools.jl upgradable stdlibs? I ask because it would be nice to fix things like this without having every downstream stdlib re-craft workloads that trigger the recompilation.
via the approach
|
|
The issue seems fundamental with how StyledStrings is split between the stdlib and Base, hence the need to heal rather than fix. JuliaLang/StyledStrings.jl#61 |
Isn't just fixing the piracy the better solution? |
Jeff doesn't want more cruft in Base. So somehow this "compromise" was made where only part of the |
REPL and Pkg now use the PrecompileTools mechanics I'm not sure whether this should be closed, but that's a lot of the latency sensitive UX stuff improved. |
This makes PrecompileTools an upgradable stdlib.
While it will still live in its own repository, this allows
it to be used by other stdlibs to lower their TTFX
when they migrate out.