4 ms·
> Those goals are always going to run counter to performance These days Julia is a very clear counterexample to this sort of claim, I don't think this is true
by conistonwater 5y ago
> Those goals are always going to run counter to performance
These days Julia is a very clear counterexample to this sort of claim, I don't think this is true at all.
- skohan 5y agoJulia has a tradeoff w.r.t. startup performance doesn't it? Also doens't Julia make pretty heavy use of dynamic dispatch, or am I mistaken about that?
- eigenspace 5y agoJulia's startup time is not short, but it's getting significantly shorter with every release. Right now, the startup overhead is only 0.13 seconds for me. Some packages still take a while to load, e.g. for me to load the plotting pacakge and produce the first plot takes about 8 seconds (all subsequent plots in that session are fast). This is down from like 30 seconds last year. One can also bundle heft packages like Plots.jl into their julia system image so they don't have to recompile all that machinery every time they restart julia.
- conistonwater 5y agoThe startup performance issue is just a regular difficult issue, as far as I'm aware. I don't think it has much to do with the goal of "being readable pseudocode" or something. It's getting better with time too. The "readable pseudocode" kind of code is exactly the sort of code in Julia that you almost always expect to be compiled down to native code quite efficiently. The kind of pseudocode I usually see is either straightforward loops iterating over something where the compiler can infer all the necessary information, or calls to library functions where somebody else has already made sure it's good. I use this a lot in my own code, and, like I said, I don't think there is a tradeoff.