I do wonder in particular about the startup time "time-to-plot" issue. I last used Julia about 2021-ish to develop some signal processing code, and restarting the entire application could have easily taken tens of seconds. Both static precompilation and hot reloading were in early development and did not really work well at the time.
That was fixed in 1.9. Indeed it makes a huge difference now that you can quickly run for the first time.
on a macMini (i.e. fast RAM), time to display:
- Plots.jl, 1.4 seconds (include package loading)
- CairoMakie.jl, 4 seconds (including package loading)
julia> @time @eval (using Plots; display(plot(rand(3))))
1.477268 seconds (1.40 M allocations: 89.648 MiB, 2.70% gc time, 7.16% compilation time: 5% of which was recompilation)
On a 5 year old i5-8600, with Samsung PM871b SSD:
Not a super fair test since everything was already hot in i/o cache, but still shows how much things have improved.