Fork me on GitHub

Hey, so basically Neanderthal is faster than the Java libraries compared to at this page, because it uses MKL? so, wouldn't pure Java be an order of magnitude faster if it properly used MKL? I mean, why would clojure as a runtime be faster?


Happy to learn more 🙂


Also, would it run without MKL, just slower?


@matan No. Properly written Clojure is equivalent to Java. It compiles to the same bytecode. Moreover, Neandethal is faster even than Java libraries that use the same MKL binaries. There is no magic in Clojure or Java, or any other technology; the programmer is the one who matches the problem and the solution. As for using Java instead of MKL: Yes. However, there is a tiny problem in the fact that those algorithms are numerous and there are a million optimizations that match the numerical algorithms to the hardware architecture. Outside of basic stuff such as matrix multiplications or vanilla solvers, many algorithms are poorly implemented or even not implemented at all outside of hard-core professional libraries such as MKL. Want to have q MKL-equivalent Java library, just (reasonably) slower? Prepare to invest millions of dollars and wait years to get it. IMHO, it is not worth the effort.