"Dyalog '18: The Interpretive Advantage"<p>> Common wisdom is that compiled languages are faster, full stop. However, by testing data for common patterns at runtime, Dyalog can sometimes perform ordinary programming tasks many times faster than well-optimised C. Marshall explains some of the ways in which Dyalog allows a programmer to get the best performance of several different implementations while writing just one, and discusses how deferred execution might make this method even more powerful in the future.<p>(Why omit the most distinguishing part of the title!?)
This clearly can happen.<p>If we throw away all the usual abstraction constructs, and model a program as a way to instruct the machine to perform certain actions. Then there is a huge spectrum of available tools to realize this program.<p>As often the case, such problem is computationally intractable. Then all sorts of different approaches: static vs. dynamic typing, compiled vs. interpreted, different flavors of languages features, etc. can all affect the end results. Then it's entirely possible that a static language like C is not close enough to the optimal result, such that a different approach can be faster. It happens to be an interpreted language in this case.