Compiler Construction

Volume 2304 of the series Lecture Notes in Computer Science pp 14-28


Data Compression Transformations for Dynamically Allocated Data Structures

  • Youtao ZhangAffiliated withDept. of Computer Science, The University of Arizona
  • , Rajiv GuptaAffiliated withDept. of Computer Science, The University of Arizona


We introduce a class of transformations which modify the representation of dynamic data structures used in programs with the objective of compressing their sizes. We have developed the commonpre prefix and narrow-data transformations that respectively compress a 32 bit address pointer and a 32 bit integer field into 15 bit entities. A pair of fields which have been compressed by the above compression transformations are packedt ogether into a single 32 bit word. The above transformations are designed to apply to data structures that are partially compressible, that is, they compress portions of data structures to which transformations apply and provide a mechanism to handle the data that is not compressible. The accesses to compressed data are efficiently implementedb y designing data compression extensions (DCX) to the processor’s instruction set. We have observeda verage reductions in heap allocatedst orage of 25% and average reductions in execution time andp ower consumption of 30%. If DCX support is not provided the reductions in execution times fall from 30% to 12.5%.