-
-
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
Speed up compilation by 20 seconds #11361
Conversation
Hmmm. Is |
On a local build the |
cc4ad31
to
5e4643b
Compare
I've just pushed a new version to see whats happening on the windows CI. |
I'm wondering if this is a printing issue on windows. AppVeyor has time stamp for each line and for generating Actually how is the printing of included file names done at sysimg build time? |
Was just writing the same thing. Very strange. Perhaps put some debug output in |
https://github.com/JuliaLang/julia/blob/master/src/toplevel.c#L583-L587 |
... OK try again... I'm glad the CI is not so busy at the moment.... |
Actually, I don't think it is caused by this PR. https://ci.appveyor.com/project/StefanKarpinski/julia/build/1.0.4855/job/b00ml44va2vb3eqf And apparently it is not new either |
Let's see what the CI think this time. |
Interesting! So the output shifts by one line only for |
Was there an actual question? |
@tkelman I just think the missing See this AppVeyor build and the corresponding code. The output of addresses is supposed to be arround |
Here's the link to the patch 024f987 The relavant code is here -include("precompile.jl")
+if !_is_sys0
+ ccall(:jl_, Void, (Any,), "Loading precompile.jl")
+ ccall(:jl_, Void, (Any,), unsafe_load(cglobal(:jl_current_module, Ptr{Void})))
+ ccall(:jl_, Void, (Any,), unsafe_load(cglobal(:jl_base_module, Ptr{Void})))
+ include("precompile.jl")
+end In case github decided to purge the commit after I deleted the branch. |
No, if I knew how to fix #11017 I would have fixed it by now. |
Do not run precompilation for
sys0
. It is pretty much a waste of time and many of the precompiled function are not useful for bootstrap anyway. There might be other files that can be omitted forsys0
but this should be the safest one.On my laptop after this change the compilation time of
sys.so
changed from2:26
to2:28
(which is smaller than the fluctuation) and the compilation time ofsys0.so
plussys.so
goes down from5:04
to4:44
.For clean compilation, this should save some time. For recompilation,
sys.so
is usually used anyway so it shouldn't be slower.P.S. The main purpose of this PR is to make me feel less guilty by making the CI slower with #11358 and #11359 .
P.P.S. (Edit) Hopefully no one have mis-read my title as
20x
. No, sadly it's only 20 seconds.