Is compile time significantly slower in 0.6?


#1

It seems to me that it takes much longer to call using on a package in 0.6 than in 0.5. Is this expected?


#2

There are still regressions being worked out. If you have a good example of a slow down, please report it as an issue.


#3

Here’s one example, note all required packages are precompiled.

0.5:

julia> @time using ApproxFun
INFO: Recompiling stale cache file /Users/solver/.julia/lib/v0.5/ApproxFun.ji for module ApproxFun.
  9.553372 seconds (2.80 M allocations: 120.003 MB, 1.23% gc time)

0.6:

julia> @time using ApproxFun
INFO: Recompiling stale cache file /Users/solver/.julia/lib/v0.6/ApproxFun.ji for module ApproxFun.
 37.945525 seconds (12.66 M allocations: 600.239 MiB, 1.03% gc time)

#4

That’s a bad regression and definitely worth reporting. To have it looked into, it needs to be reported as an issue, not just a message on discourse.


#5

Here is the link to create an issue on Github:


#6

I think @dlfivefifty is familiar :grin:


#7

A related issue: https://github.com/JuliaLang/julia/issues/21113


#8

I still haven’t had time to put in a sensible GitHub issue. Interestingly, the total times in my Travis tests have gone down by 30% in 0.6, from 45mins to 33mins:

https://travis-ci.org/JuliaApproximation/ApproxFun.jl/jobs/214491477

So not all bad news!

(Of course Travis isn’t an ideal performance testing environment, but it’s happened multiple times now.)


#9

A bit hard for me to translate it to an MWE, but I have a fit function in a package I have yet to register, that used to compile very fast on v0.5, but now it can take up to 30 seconds to run it the first time (0.08 seconds after that).


#10

@pkofod if you have a nice concise example, can you post an issue and link to this thread?


#11

I will try to find an example. In the mean time, is there any way for me to see where it is spending time?


#12

I only know of @profile


#13

Does this mean that some of them have been worked out? If so, I should probably build a version with these fixes before regression hunting all day. Would that just be master ?

edit: and by the way, the compiled code is faster, so that’s good, it’s just that compilation time that would be killing any demonstration of the software.


#14

It is tedious work but good MWE can get quick action: https://github.com/JuliaLang/julia/issues/21081


#15

Yes, several have been addressed since 0.6-alpha, so try master if you can; we’re working on 0.6-beta soon as well, which will include those fixes.


#16

Significantly improved on master compared to alpha! Great.


#17

I’ve tagged an issue:


#18

I am experiencing a significant slowdown in REPL launch time - 0.6 takes about one second longer than 0.5. Not sure if it’s relevant to this specifically, but thought it might be worth noting.