2003
DOI: 10.1145/949343.949333
|View full text |Cite
|
Sign up to set email alerts
|

Object equality profiling

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 mem… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
23
0

Year Published

2005
2005
2017
2017

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 15 publications
(23 citation statements)
references
References 40 publications
0
23
0
Order By: Relevance
“…In addition, their approach is meant to applied by the programmer. Our work differs from [24] in three main aspects. First, we do not have the limitations mentioned above.…”
Section: Related Workmentioning
confidence: 95%
See 2 more Smart Citations
“…In addition, their approach is meant to applied by the programmer. Our work differs from [24] in three main aspects. First, we do not have the limitations mentioned above.…”
Section: Related Workmentioning
confidence: 95%
“…Marinov and O'Callahan [24] proposed Object Equality Profiling (OEP) for helping programmers discover optimization opportunities in programs. Based on profiling of objects, they partition the objects into equality sets.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Object access profiles include properties such as writeonly objects, immutable objects, and non-accessed bytes based on the information about which program instructions access which fields of which objects. Object access profiling is crucial for many object optimizations, including object compression [5,12,21], lazy allocation [5,24], field reordering [6], and object merging [12]. For example, if certain objects are unlikely to be accessed after initialization, they should be compressed.…”
Section: Introductionmentioning
confidence: 99%
“…To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. tion [12,14] or flyweight [8]). They also enable compiler optimizations such as reducing the number of dynamic reads [16].…”
Section: Introductionmentioning
confidence: 99%