News for hackers. Stuff that matters.
Re:Julia 1.9 Highlights by jbieler on Wednesday May 10, 2023 @05:08AM (#35885257)
This makes a big difference in usability, before loading a big project was almost in the "coffee time" category, now it's more "wait a few seconds". It helps a lot to make the tool feel more responsive.
Re:Julia 1.9 Highlights by tastyminerals2 on Wednesday May 10, 2023 @08:23AM (#35886328)
So, you mean that loading a bigger project in Julia was more or less equal to compiling it with some language like C++? And you had to do it every single time in order to work with the project? This doesn’t sound too good tbo.
Re:Julia 1.9 Highlights by gugagore on Wednesday May 10, 2023 @08:39AM (#35886462)
You did not have to do it every single time. There are many changes you can make that are handled correctly by Revise.jl
Re:Julia 1.9 Highlights by adgjlsfhk1 on Wednesday May 10, 2023 @08:50AM (#35886572)
It isn't. That said, it's not as bad as it sounds at first because there are tools like Revise.jl which let you change code without recompiling.
Re:Julia 1.9 Highlights by tastyminerals2 on Wednesday May 10, 2023 @08:55AM (#35886637)
I see. It’s a separate library, right? :) I hope this information is part of Julia tutorial.
Re:Julia 1.9 Highlights by adgjlsfhk1 on Wednesday May 10, 2023 @10:18AM (#35887730)
It's a separate library, but I'm pretty sure it's used by ~85% of julia users.
Re:Julia 1.9 Highlights by markkitti on Wednesday May 10, 2023 @08:39PM (#35895712)
Re:Julia 1.9 Highlights by krastanov on Wednesday May 10, 2023 @09:10AM (#35886819)
That used to be the case before this version, indeed. It was due to how incredibly difficult it is to cache code efficiently in a language that (1) dynamically compiles things and (2) supports multimethods. Point 1 is crucial for the high performance, and point 2 is crucial for the incredible composability of libraries and reuse of code. To my knowledge julia is the first language to solve both with UX that is getting better and better. JAX/PyTorch/Tensorflow have some similarities (with long compile times for models), but lack the composability.
Re:Julia 1.9 Highlights by tastyminerals2 on Wednesday May 10, 2023 @09:40AM (#35887209)
Come on. Julia is >10 years old. This was a language design decision many years ago, the shortcomings of which have been addressed much later when it started to be clear that it is a problem. Native code caching is available only since 1.9. This is great that team worked hard on them, but if this was not an issue right from the start, Julia could have been in a different place today.

And what's even more ironic, is that speed was never big of an issue until DL epoch kicked in 5 years ago.

Re:Julia 1.9 Highlights by krastanov on Wednesday May 10, 2023 @10:05AM (#35887553)
I think the dynamical recompilation that made code caching difficult is from 0.6, the last release before 0.7 (the first stable release). From 0.1 (2012 or 2013) to 0.7 julia evolved drastically. They stabilized only in 2018ish. This seems like a pretty reasonable timeline for something no other language has done before (although, as I mentioned, pytorch/jax/tensorflow have some limited similarities, and similar problems).
Re:Julia 1.9 Highlights by tastyminerals2 on Wednesday May 10, 2023 @10:23AM (#35887826)
I see. Right, 2017 was the first time I tried Julia and never came really back. Then the Torch, TF, Keras, PyTorch era started and kept ML engineers busy while I think Julia couldn’t keep up. Well, there is Flux. Not sure how it compares.
Re:Julia 1.9 Highlights by jakobnissen on Wednesday May 10, 2023 @10:40AM (#35888074)
It can't compare, not even close. There is just too little devpower behind Flux. Also, the AD landscape in Julia have been changing so fast that the ground has been shifting under Flux, so to speak.

It's a shame, because Julia is so obviously a good language for DL.

Re:Julia 1.9 Highlights by GaryNumanVevo on Wednesday May 10, 2023 @05:18PM (#35893669)
In practice, it's not a huge issue. Static imports are already precompiled and any code paths within your project are cached. Typically people will use a single session and use hot code reloading, so any changes in the codepath will need a recompile (on the order of milliseconds).