2012
DOI: 10.1007/978-3-642-31057-7_32
|View full text |Cite
|
Sign up to set email alerts
|

Static Detection of Loop-Invariant Data Structures

Abstract: Abstract. As a culture, object-orientation encourages programmers to create objects, both short-and long-lived, without concern for cost. Excessive object creation and initialization can cause severe runtime bloat, which degrades significantly application performance and scalability. A frequently-occurring coding pattern that may lead to large volumes of (temporary) objects is the creation of objects that, while allocated per loop iteration, contain values independent of specific iterations. Finding these obje… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
19
0

Year Published

2012
2012
2022
2022

Publication Types

Select...
6
3

Relationship

3
6

Authors

Journals

citations
Cited by 32 publications
(19 citation statements)
references
References 38 publications
0
19
0
Order By: Relevance
“…JOLT [30] is a VM-based tool that uses a new metric to quantify object churn and identify regions that make heavy use of temporary objects, in order to guide aggressive method inlining. Work by Xu et al [35,36,37,38,34] finds copy-and container-related inefficiencies. Jin et al from [17] studies performance bugs in real-world software systems.…”
Section: Related Workmentioning
confidence: 98%
“…JOLT [30] is a VM-based tool that uses a new metric to quantify object churn and identify regions that make heavy use of temporary objects, in order to guide aggressive method inlining. Work by Xu et al [35,36,37,38,34] finds copy-and container-related inefficiencies. Jin et al from [17] studies performance bugs in real-world software systems.…”
Section: Related Workmentioning
confidence: 98%
“…2 that contain certain relatively expensive operations, such as temporary-object creation/destruction [37], file I/O, and UI updates.…”
Section: Operations In Responsive Actionsmentioning
confidence: 99%
“…While this is similar to the detection of reusable instances in our work, we can find more opportunities such as reusable shapes and reusable data. Recent work such as [6,46] uses static analysis to identify reusable data structures created in a loop. However, in a large-scale application, reuse opportunities may be located in methods far away from a loop, limiting significantly the real-world usefulness of these analyses.…”
Section: Related Workmentioning
confidence: 99%