Go with the flow: Profiling copies to find runtime bloat
Guoqing Xu, Matthew Arnold, et al.
PLDI 2009
The drive to rapidly develop layered, interconnected, and flexible systems has eclipsed consideration of resource costs. Consequently, large Java applications suffer from runtime bloat: a large and pervasive infrastructure tax, where simple transactions require a few hundred thousand method calls, and a server with 1 Gbyte of memory sometimes can only support a few hundred users. Current Java optimizers and garbage collectors are of little help for these systemic problems. Enterprises face greatly reduced scalability, increased power consumption, and missed deliveries. In this article, the authors detail four global software development trends, along with some widely held myths, that lead to bloat in Java applications. They illustrate their consequences with anecdotes drawn from real applications suffering severe performance and memory issues. While these trends are inevitable, runtime bloat is not. Understanding the sources of bloat can help programmers craft appropriate solutions for the future. © 2010 IEEE.
Guoqing Xu, Matthew Arnold, et al.
PLDI 2009
Nick Mitchell, Gary Sevitsky, et al.
WODA 2007
Aaron Kershenbaum, Achille Fokoue, et al.
OWLED 2006
Darrell Reimer, Edith Schonberg, et al.
OOPSLA 2004