Reuse, recycle to de-bloat software

28Citations
Citations of this article
17Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Most Java programmers would agree that Java is a language that promotes a philosophy of "create and go forth". By design, temporary objects are meant to be created on the heap, possibly used and then abandoned to be collected by the garbage collector. Excessive generation of temporary objects is termed "object churn" and is a form of software bloat that often leads to performance and memory problems. To mitigate this problem, many compiler optimizations aim at identifying objects that may be allocated on the stack. However, most such optimizations miss large opportunities for memory reuse when dealing with objects inside loops or when dealing with container objects. In this paper, we describe a novel algorithm that detects bloat caused by the creation of temporary container and String objects within a loop. Our analysis determines which objects created within a loop can be reused. Then we describe a source-to-source transformation that efficiently reuses such objects. Empirical evaluation indicates that our solution can reduce upto 40% of temporary object allocations in large programs, resulting in a performance improvement that can be as high as a 20% reduction in the run time, specifically when a program has a high churn rate or when the program is memory intensive and needs to run the GC often. © 2011 Springer-Verlag Berlin Heidelberg.

Cite

CITATION STYLE

APA

Bhattacharya, S., Nanda, M. G., Gopinath, K., & Gupta, M. (2011). Reuse, recycle to de-bloat software. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6813 LNCS, pp. 408–432). https://doi.org/10.1007/978-3-642-22655-7_19

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free