The impact of optional type information on jit compilation of dynamically typed languages

  • Authors:
  • Mason Chang;Bernd Mathiske;Edwin Smith;Avik Chaudhuri;Andreas Gal;Michael Bebenita;Christian Wimmer;Michael Franz

  • Affiliations:
  • University of California at Irvine, Irvine, & Adobe Systems, San Jose, CA, USA;Adobe Systems, San Jose, CA, USA;Adobe Systems, San Jose, CA, USA;Adobe Systems, San Jose, CA, USA;Mozilla Corporation, Mountain View, CA, USA;University of California at Irvine, Irvine, CA, USA;University of California at Irvine, Irvine, CA, USA;University of California at Irvine, Irvine, CA, USA

  • Venue:
  • Proceedings of the 7th symposium on Dynamic languages
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Optionally typed languages enable direct performance comparisons between untyped and type annotated source code. We present a comprehensive performance evaluation of two different JIT compilers in the context of ActionScript, a production-quality optionally typed language. One JIT compiler is optimized for quick compilation rather than JIT compiled code performance. The second JIT compiler is a more aggressively optimizing compiler, performing both high-level and low-level optimizations. We evaluate both JIT compilers directly on the same benchmark suite, measuring their performance changes across fully typed, partially typed, and untyped code. Such evaluations are especially relevant to dynamically typed languages such as JavaScript, which are currently evaluating the idea of adding optional type annotations. We demonstrate that low-level optimizations rarely accelerate the program enough to pay back the investment into performing them in an optionally typed language. Our experiments and data demonstrate that high-level optimizations are required to improve performance by any significant amount.