ACM Home Page
Please provide us with feedback. Feedback
Object equality profiling
Full text PdfPdf (577 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications table of contents
Anaheim, California, USA
SESSION: Analysis table of contents
Pages: 313 - 325  
Year of Publication: 2003
ISBN:1-58113-712-5
Also published in ...
Authors
Darko Marinov  MIT Lab for Computer Science
Robert O'Callahan  IBM T. J. Watson Research Center
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 52,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/949305.949333
What is a DOI?

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 a 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
 
4
 
5
6
7
 
8
A. W. Appel and M. J. R. Goncalves. Hash-consing garbage collection. Technical Report TR-412-93, Princeton University, Computer Science Department, Feb. 1993.
 
9
10
 
11
 
12
13
 
14
 
15
A. Cardon and M. Crochemore. Partitioning a graph in O(|A|log2|V|). Theoretical Computer Science, 19(1):85--98, 1982.
16
17
 
18
 
19
 
20
21
 
22
E. Goto. Monocopy and associative algorithms in an extended Lisp. Technical Report 74-03, Information Science Laboratory, University of Tokyo, Tokyo, Japan, May 1974.
23
 
24
J. E. Hopcroft. An n log n algorithm for minimizing the states in a finite automaton. In The Theory of Machines and Computations, pages 189--196. Academic Press, 1971.
25
 
26
D. Michie. "memo" functions and machine learning. Nature, 218, Apr. 1968.
 
27
T. Murphy, B. Harper, and K. Crary. The wizard of tilt: Efficient?, convenient and abstract type representations. Technical Report CMU-CS-02-120, School of Computer Science, Carnegie Mellon University, Mar. 2002. http://www-2.cs.cmu.edu/~tom7/papers/wizard.ps.gz.
28
29
30
31
32
33
34
35
 
36
The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. http://www.spec.org/osg/jvm98/, 1998.
37
 
38
Package java.lang.ref. http://java.sun.com/j2se/1.4/docs/api/java/lang/ref/package-summary.html.
 
39
WebSphere application server development best practices for performance and scalability. White paper available from http://www-3.ibm.com/software/webservers/appserv/ws_bestpractices.pdf, Sept. 2000.
40
41

CITED BY  11

Collaborative Colleagues:
Darko Marinov: colleagues
Robert O'Callahan: colleagues