Why is Julia fast?
Julia’s “big” idea was to compile the program right down to the machine code level.
This was by incorporating the LLVM technology developed at Urbana-Champaign in the early 2000s. LLVM was originally termed as the low-level virtual machine but is now seen as a mnemonic. Conceptually, Julia Core is parsed via an internal Lisp (Femtolisp) translator and then compiled into an intermediate representation (IR), and then a machine-dependent LLVM compiler is invoked to produce the actual executable.
Although this represents an overhead, the code is cached (i.e., only compiled once), and much effort has gone into creating system images of the basic Julia system and caching individual packages. This makes execution times of the same “order” as C code, perhaps about (x2). C compilers are often better optimized, but LLVM is getting there quickly. So, Julia provides the holy grail of compact code as well as fast execution times. The downside...