3 ms·
I work with julia every day and really don't spend much time waiting for things like compilation or precompilation. > It’s unbelievable that the Julia core dev
by eigenspace 6y ago
I work with julia every day and really don't spend much time waiting for things like compilation or precompilation.
> It’s unbelievable that the Julia core devs still haven’t addressed it. It is not fun by any means. Not even tolerable.
While I never really thought this was a big deal, the Julia devs certainly do, and I'm a little upset on their behalf that you'd say this. An amazing amount of developer time and effort has been going into reducing loading times and compiler latency lately. The currently release, 1.5.2 is leagues faster at package loading than the previous version and the upcoming 1.6 release candidate is even faster.
They recently implemented multi-threaded precomilation and have been going on a method invalidation crusade doing largely thankless work to deal with exactly this sort of whining.
- systemvoltage 6y agoI applaud Julia developers for their work. They just haven't focused on the UX of using Julia on a daily basis. I have been forced to use Julia as a maintainer (not author) and I feel totally exhausted, defeated and uninspired after working on Julia code. Just being honest and voicing my opinions. If it hurts the people that worked on it for years, I am sorry.
- chappi42 6y agoHave you asked on https://discourse.julialang.org/ https://discourse.julialang.org/ already? Maybe, hopefully, you can find help there to feel less exhausted. -- It's not an opinion when you e.g. say that precompilation has not been addressed when it is being worked on (with much cost, I'd suppose). Same for haven't focused on the UX [snip]. In case you aren't on the julialang discourse I really encourage you to register and ask.
- systemvoltage 6y agoThanks, I haven’t reached out but mostly seek help on SO.
- chappi42 6y agoSO is fine. On discourse (besides asking questions like on SO) there is also space to e.g. discuss why one feels exhausted, defeated and uninspired after working with Julia. This shouldn't be! And there is certainly a way to "fix it" :)
- attractivechaos 6y agoI am not sure faster compilation is the way to go. Cutting 30 sec to 15 helps little and the acceleration of compilation can't catch up with the growth of packages in the long run. Also, multi-threaded precompilation sounds a bad idea on managed clusters where resource usage should be controlled. I wonder how much Julia devs have done on caching precompiled binaries. That, though non-trivial to implement properly, is the ultimate solution to slow compilation.
- ChrisRackauckas 6y agoWe recently acquired new hardware and plan to look into it. Invalidations can get in the way, but there are some things that can be done.
- deleted 6y ago[deleted]
- fanf2 6y agoThe manual says “Large modules can take several seconds to load because executing all of the statements in a module often involves compiling a large amount of code. Julia creates precompiled caches of the module to reduce this time.” https://docs.julialang.org/en/v1/manual/modules/#Module-initialization-and-precompilation https://docs.julialang.org/en/v1/manual/modules/#Module-init...
- attractivechaos 6y agoThis sounds great in theory, but in practice julia-1.5.2 still takes 10 sec to start when I use a medium-sized package including its dependencies (16 compiled files in total). If julia is loading cached files, I would expect something below 1 sec.
- roywiggins 6y agoYou can manually precompile a system image with libraries you find yourself using often, like Plots.jl. The usability of it stinks, but... you can do it, and it speeds common things up. https://julialang.github.io/PackageCompiler.jl/dev/examples/plots/ https://julialang.github.io/PackageCompiler.jl/dev/examples/...
- ku-man 6y agoNothing against the hardworking Julia folks,but they have been promising faster loading times since day one. The fact that, despite the huge amount of work, the loading times are still an issue, tells me that perhaps there is something off with the design of the language itself.