Simple, effective code-size reduction for functional programs

Ekaterina Stefanov, Anthony M. Sloane

Research output: Contribution to journalArticle

Abstract

Code-size reduction is an important area of investigation for computer system developers due to the increasing use of technologies such as communication networks and embedded systems for which program size is an important factor. A new software-based method of program compression for languages with interpreter-based runtime systems is described. The method employs a modified version of a standard dictionary-based text compression algorithm to produce a shorter encoding for a given program and a runtime system tailored for it. In comparison with previous software-based code-size reduction methods the new method is simpler to implement and imposes lower overhead at compile time. Its performance on a representative suite of Haskell programs is analysed. Executable space savings of 16-26% are achieved as a result of code compression, exclusion of unused instructions from the runtime, and inclusion of the standard library in the optimisation. To the best of the authors' knowledge, this is the first work on running compressed code for a purely declarative and functional language.

Original languageEnglish
Pages (from-to)211-225
Number of pages15
JournalLecture Notes in Computer Science
Volume3474
Publication statusPublished - 2005

Fingerprint Dive into the research topics of 'Simple, effective code-size reduction for functional programs'. Together they form a unique fingerprint.

  • Cite this