I recently thought I’d try out the 1.5 release candidate when making some figures since rumor has it it’s quite snappy I was surprised that on a fresh install, after Pkg.add("Gadfly"), using Gadfly took 149 seconds. 2.5 minutes seems like a lot for one package, albeit one with many dependencies?
But I realize I actually have no idea how long this should take. If you precompile a project and it takes N seconds, what heuristics do you use to determine if N is “woah, super fast,” “about as expected,” or “hmm, something’s wrong here?”
It’s only 2.5 minutes the first time though, after it is significantly faster, right?
It’s pretty hard to say. Typically the tradeoff is something like how useful the package is to you vs how long the compilation time is. For different people, that tradeoff might be different. Often, “fast” typically means that you compare to Julia at some other version where it was “slow”.
What happens quite often in my workflow (which may be suboptimal), is that I have a package which several dependencies.
Then at some point I need to add an additional dependency (e.g. today I added Gumbo to the project below), which I think may update/downgrade some of the other dependencies underlying dependencies which in turn leads to relatively long precompilation times.