Myths Surrounding Runtime Environments

There is still much active debate on how best to create applications for different environments. Factors such as the resources available where the application will be run, the productivity of the developers challenged with creating the application, and the maturity of the development environment come into play. If the application is implemented in the same way, performance and memory requirements are a feature of the development environment. Next, we look to overturn the most common myths about managed environments.

As Runtime Compilers Must Be Fast, They Must Be Simple

A misconception about runtime environments is that they are interested purely in just-in-time (JIT) compilation. JIT compilation must create code quickly because it will be put to use as soon as it is ready. Although this simple execution model was used in many early JVMs and in prototype runtime environments, most modern production virtual machines rely on some form of selective optimization. In selective optimization, online profiling is used to identify a subset of the executing methods to compile with an aggressive optimizing compiler; the remainder of the methods are either interpreted or compiled by a very fast nonoptimizing compiler immediately before execution. It is this selectivity that enables the use of sophisticated optimizing compilers at runtime.

Unlimited Analysis in a Static Compiler Must Mean Better Performance

As runtime environments will be heavily used by many ...

Get Beautiful Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.