3 ms·
I do not understand the notion of a fast language. I can buy the idea that a compiled (or JITted) language will run loops faster than an interpreted one. But wr
by KKKKkkkk1 10y ago
I do not understand the notion of a fast language. I can buy the idea that a compiled (or JITted) language will run loops faster than an interpreted one. But writing a DGEMM in Julia or in Fortran is not what will make it fast, it's careful performance profiling and machine-specific optimizations that will do this. Apparently every language community has to learn this the hard way once it gets mature enough. See the following for an example from the C++ world: https://youtu.be/hfn0BVOegac?t=30m40s https://youtu.be/hfn0BVOegac?t=30m40s.
- dagss 10y agoThe explanation is simply that people are happy to get a 10x speedup even if 100x is possible in theory. Python + NumPy has a large mindshare, and can be 10x from Fortran/Julia even if you use NumPy vectorization. And often loops are simpler or required anyway (dropping Python to 1000x slower). Languages like Julia and Fortran also allows you to hit peak where you are limited by memory bandwidth, which is most of the time (not for DGEMM though...)
- gpderetta 10y agoSome languages are explicitly designed to be easier to optimize than others. Both for their compiler and, most importantly, their users. The mythical Sufficiently Smart Compiler, is, well, a myth.