Object equality profiling

Darko Marinov, Robert O'Callahan

Research output: Contribution to journalConference article

Abstract

We present Object Equality Profiling (OEP), a new technique for helping programmers discover optimization opportunities in programs. OEP discovers opportunities for replacing a set of equivalent object instances with a single representative object. Such a set represents an opportunity for automatically or manually applying optimizations such as hash consing, heap compression, lazy allocation, object caching, invariant hoisting, and more. To evaluate OEP, we implemented to tool to help programmers reduce the memory usage of Java programs. Our tool performs a dynamic analysis that records all the objects created during a particular program run. The tool partitions the objects into equivalence classes, and uses collected timing information to determine when elements of an equivalence class could have been safely collapsed into a single representative object without affecting the behavior of that program run. We report the results of applying this tool to benchmarks, including two widely used Web application servers. Many benchmarks exhibit significant amounts of object equivalence, and in most benchmarks our profiler identifies optimization opportunities clustered around a small number of allocation sites. We present a case study of using our profiler to find simple manual optimizations that reduce the average space used by live objects in two SpecJVM benchmarks by 47% and 38% respectively.

Original languageEnglish (US)
Pages (from-to)313-325
Number of pages13
JournalACM SIGPLAN Notices
Volume38
Issue number11
DOIs
StatePublished - Nov 2003
EventProceedings of the 2003 ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications - Anaheim, CA, United States
Duration: Oct 26 2003Oct 30 2003

Keywords

  • Java language
  • Object equality
  • Object mergeability
  • Profile-guided optimization
  • Profiling
  • Space savings

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Fingerprint Dive into the research topics of 'Object equality profiling'. Together they form a unique fingerprint.

  • Cite this