The important thing is not how complex the function is, but what kind of calculations it performs. The compiler will make a big difference for functions that are dominated by interpreter overhead, such as those that perform mostly simple operations on scalar or other small data. In such cases, I saw factor 3 for artificial examples and is slightly better than coefficient 2 for some production code. Functions that spend most of their time in operations implemented in native code, for example, in operations with linear algebra, will be of little use.
This is only the first release of the compiler, and it will evolve over time. LLVM is one of several possible areas that we will look at, but probably not for a while. In any case, I would expect using something like LLVM to provide further improvements in cases where the current compiler already matters, but does not add a lot in cases where it does not.
source share