But for the most part those alternative implementations have similar designs and performance characteristics to the most popular implementation. E.g. for Java, all major modern implementations use a JIT, and the language lends itself to a JIT runtime, as virtual-methods-by-default performs poorly when statically compiled.