2013
DOI: 10.1007/978-3-642-39038-8_1
|View full text |Cite
|
Sign up to set email alerts
|

CoCo: Sound and Adaptive Replacement of Java Collections

Abstract: Abstract. Inefficient use of Java containers is an important source of run-time inefficiencies in large applications. This paper presents an application-level dynamic optimization technique called CoCo, that exploits algorithmic advantages of Java collections to improve performance. CoCo dynamically identifies optimal Java collection objects and safely performs run-time collection replacement, both using pure Java code. At the heart of this technique is a framework that abstracts container elements to achieve … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
30
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
4

Relationship

2
7

Authors

Journals

citations
Cited by 49 publications
(31 citation statements)
references
References 28 publications
0
30
0
Order By: Relevance
“…Work such as [33] and Chameleon [23] is more speciically targeted towards collections and provides either online or oline means to optimize them more for operations on collections in general, and thus goes beyond the type specializations demonstrated here. However, such more advanced optimizations and also the notion of just-in-time data structures [8] could be combined with the optimizations presented here.…”
Section: Related Workmentioning
confidence: 99%
“…Work such as [33] and Chameleon [23] is more speciically targeted towards collections and provides either online or oline means to optimize them more for operations on collections in general, and thus goes beyond the type specializations demonstrated here. However, such more advanced optimizations and also the notion of just-in-time data structures [8] could be combined with the optimizations presented here.…”
Section: Related Workmentioning
confidence: 99%
“…Bloat detection has also been attempted by developing dynamic techniques to identify reusable data structures [Xu 2012[Xu , 2013b and cacheable data values [Nguyen and Xu 2013]. In addition, Xu proposes an adaptive technique in Xu [2013a] that can automatically switch container implementations online to improve the performance of programs that make intensive use of object-oriented containers.…”
Section: Bloat Detectionmentioning
confidence: 99%
“…For instance, blended escape analysis [Dufour et al 2007[Dufour et al , 2008 is effective at detection of temporary objects while a container profiling technique [Xu and Rountev 2008;Xu 2013a;Shacham et al 2009] works only for container bloat. Our cost-benefit analysis detects operations that have high costs and low benefits.…”
Section: Bloat Detectionmentioning
confidence: 99%
“…Brainy [5] and Chameleon [11] are examples of the first approach, they collect data during test runs which is then used to make an informed decision on which collection implementation to use in production code. CoCo [13] and Storage Strategies [1] are examples of the online, dynamic approach.…”
Section: Related Workmentioning
confidence: 99%