4 ms·
This is why one of the design goals of Julia is to have a fairly transparent performance model. In particular, if you write C-like code, you get C-like performa
by StefanKarpinski 13y ago
This is why one of the design goals of Julia is to have a fairly transparent performance model. In particular, if you write C-like code, you get C-like performance. A lot of the most twisted and impenetrable Matlab code exists because Matlab forces you to vectorize everything to get acceptable performance. Generic programming and design are also very important in Julia. It takes a while to get the hang of it, but people do seem to after a little bit.
- Blahah 13y agoIs there a guide to performance optimisation in Julia anywhere?
- StefanKarpinski 13y agoIt's by no means comprehensive, but http://docs.julialang.org/en/latest/manual/performance-tips/ http://docs.julialang.org/en/latest/manual/performance-tips/ is a decent start. http://docs.julialang.org/en/latest/stdlib/profile/#stdlib-profiling http://docs.julialang.org/en/latest/stdlib/profile/#stdlib-p... is also helpful.
- Beliavsky 13y agoFortran 90 and later versions of Fortran have array operations, as in Matlab, but you can also write loops and have the compiler optimize the code. There already is a high-level language for scientific computing with C-like performance.
- m_mueller 13y agoPeople often sneer at Fortran, but there's a lot that can be done with it in scientific computing, including very performant GPGPU computing. That being said, the dream of having a matlab like prototyping environment directly result in production level HPC code is probably never going to be realised in Fortran - maybe Julia will get there? All I can say is that the tooling needs to be top notch for that to happen and the performance can't just be in the order of magnitude of Fortran/C - it needs to be within 20% or so. Once you run software on clusters that cost millions, programmer time becomes rather cheap, especially in academic settings.