-
-
Notifications
You must be signed in to change notification settings - Fork 211
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
stop running functions in init #607
Conversation
If we are removing the code to be called, then does |
As a case study, loading is currently quite painful on a modern aarch64 system
This PR improves things a lot (but aarch64 does seem disproportionately slow at loading for some reason..)
And adding the SnoopCompile bot to run the |
so this definitely seems worth doing, and we can keep bors r+ |
Build succeeded: |
Yes, we may as well remove |
@MikeInnes this is done in #615 |
Zygote currently does the same thing as CSV used to do (JuliaData/CSV.jl#324) which is to run some representative functions in
__init__
to make the first call look faster. In reality, this just shifts the latency in the first call to package load time. The problem is that Zygote can be loaded in a Julia session without necessarily getting called. In those scenarios, users have to pay the compilation cost anyway which makes it more costly to have Zygote as a dependency.