A simple approach to supporting untagged objects in dynamically typed languages

Peter A. Bigot, Saumya K. Debray

Research output: Contribution to journalArticle

Abstract

In many modern high-level programming languages, the exact low-level representation of data objects cannot always be predicted at compile-time. Implementations usually get around this problem using descriptors ("tags") and/or indirect ("boxed") representations. However, the flexibility so gained can come at the cost of significant performance overheads. The problem is especially acute in dynamically typed languages, where both tagging and boxing are necessary in general. This paper discusses a straightforward approach to using untagged and unboxed values in dynamically typed languages. An implementation of our algorithms allows a dynamically typed language to attain performance close to that of highly optimized C code on a variety of benchmarks (including many floating-point intensive computations) and dramatically reduces heap usage.

Original languageEnglish (US)
Pages (from-to)25-47
Number of pages23
JournalJournal of Logic Programming
Volume32
Issue number1
DOIs
StatePublished - Jul 1997

ASJC Scopus subject areas

  • Logic

Fingerprint Dive into the research topics of 'A simple approach to supporting untagged objects in dynamically typed languages'. Together they form a unique fingerprint.

  • Cite this