5 ms·
"Why Does Julia Work So Well? There is an obvious reason to choose Julia: it's faster than other scripting languages, allowing you to have the rapid
by pierre_d528 7y ago
"Why Does Julia Work So Well?
There is an obvious reason to choose Julia:
it's faster than other scripting languages, allowing
you to have the rapid development of Python/MATLAB/R
while producing code that is as fast as C/Fortran"
https://ucidatascienceinitiative.github.io/IntroToJulia/Html/WhyJulia https://ucidatascienceinitiative.github.io/IntroToJulia/Html...
- enriquto 7y agoyet the startup time remains slower...
- tomkwong 7y agoStartup feels instant to me. Perhaps you are talking about precompilation. In that case, it’s insignificant for most computationally intensive applications.
- enriquto 7y agoI don't know the difference between startup and precompilation, and I do not really care, but if I launch a julia script from the command line it is unbearably slow for no apparent reason. Octave, on the other hand, launches instantly and starts making computations. This is understandable, because julia is not intended to be used that way. You are supposed to "live" inside the repl. However, I prefer tools that are flexible enough that can be used comfortably in non-intended ways.
- FridgeSeal 7y agoThat’s compilation time. Currently yeah, it’s not fantastic, but I believe that’s being actively worked on.
- subroutine 7y agoAlso if you have any need to generate plots & graphs - RIP Julia. I was excited to try Julia, since it seemed to integrate some of the best features of each MATLAB, R, and Python. I was truly disappointed to discover that Julia would take minutes to render the exact same plots I was generating in Octave almost instantly.
- dnautics 7y agoto be fair, that typically only happens the first time you make your graph; replots are typically lightning fast. but this was a major frustration for me, I haven't had occasion to use it more recently, but I understand maybe things are a bit better for graphing in julialand in the last few months?
- improbable22 7y agoI thought it had got better, but also I've just adjusted to work around it. Here are some timings today, Julia 1.1, cold start to first plot: $ julia -e '@time (using GR; plot(rand(20)))' 3.931433 seconds (10.38 M allocations: 521.292 MiB, 6.44% gc time) $ julia -e '@time (using Plots; plot(rand(20)))' 19.498644 seconds (57.26 M allocations: 2.844 GiB, 8.07% gc time) Running with less compilation: $ julia --compile=min -e '@time (using GR; plot(rand(20)))' 0.375836 seconds (368.83 k allocations: 20.190 MiB, 1.65% gc time) $ julia --compile=min -e '@time (using Plots; plot(rand(20)))' 4.302867 seconds (6.41 M allocations: 371.485 MiB, 5.07% gc time) But, as you say, it's much much quicker once started, like 1-5ms per plot.
- dnautics 7y ago4.3 seconds seems great. I remember when it felt like a minute or two.
- enriquto 7y agothis is not really an issue, as long as you ignore the julia plotting capabilities; which should have never been there anyway. You can easily dump your numbers (and functions) on a text file and gnuplot them.
- short_sells_poo 7y agoUhh no. I do a lot of data analysis and if I have to dump stuff into text files every time I want to visualize something quickly then I'm going to go mental. Simple plots take a fraction of a second in Python/R/Matlab. I feel like many people don't realize how crucial this is. Sub-second plotting makes working with data interactive. If it takes more than 5 seconds to produce simple plots, that's no longer interactive. Imagine if your debugger took half a minute to show you the value of a variable while trying to find a complex bug. You'd start pulling your hair out. If in Julia it takes me half a minute at least (dumping to text file, reading it in somewhere else and then plotting it), Julia is going to remain firmly in the "check this language again in 2 years time if the plotting story has become sensible yet".