Estimating the Impact of Code Additions on Garbage Collection Overhead

  • Peter LibičEmail author
  • Lubomír Bulej
  • Vojtěch Horký
  • Petr Tůma
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9272)


In managed memory environments, code changes influence performance both through time spent executing the code and time spent collecting garbage generated by the code. This complicates decision making when considering performance impact of code changes—while the impact on execution time is usually easy to assess in isolation, the impact on garbage collection time depends on the memory allocation behavior of the code surrounding the changes. In our paper, we describe a method to estimate the impact of code changes with additional allocations on garbage collection time, which can be applied, e.g., when assessing the overall performance impact of alternative changes. The method is demonstrated on experiments with the HotSpot virtual machine.


Garbage collection Performance Modeling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Syst. Softw 82(1) (2009)Google Scholar
  2. 2.
    Blackburn, S.M., Cheng, P., McKinley, K.S.: Myths and realities: The performance impact of garbage collection. Perform. Eval. Rev. 32(1), 25–36 (2004). CrossRefGoogle Scholar
  3. 3.
    Blackburn, S.M., et al.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA, pp. 169–190 (2006).
  4. 4.
    Hertz, M., Berger, E.D.: Quantifying the performance of garbage collection vs. explicit memory management. In: OOPSLA, pp. 313–326 (2005).
  5. 5.
    Hertz, M., Blackburn, S.M., Moss, J.E.B., et al.: Generating object lifetime traces with Merlin. ACM Trans. Program. Lang. Syst. 28(3), 476–516 (2006). CrossRefGoogle Scholar
  6. 6.
    Jones, R.E., Ryder, C.: A study of Java object demographics. In: ISMM, pp. 121–130 (2008).
  7. 7.
    Li, P., Ding, C., Luo, H.: Modeling heap data growth using average liveness. In: ISMM, pp. 71–82 (2014).
  8. 8.
    Libič, P., Bulej, L., Horký,V., Tůma, P.: On the limits of modeling generational garbage collector performance. In: ICPE, pp. 15–26 (2014).
  9. 9.
    Libič, P., Tůma, P., Bulej, L.: Issues in performance modeling of applications with garbage collection. In: QUASOSS, pp. 3–10 (2009).
  10. 10.
    Ricci, N.P., Guyer, S.Z., Moss, J.E.B.: Elephant tracks: portable production of complete and precise GC traces. In: ISMM, pp. 109–118 (2013)Google Scholar
  11. 11.
    Sun Microsystems Inc: Memory management in the Java HotSpot virtual machine (2006).
  12. 12.
    Vengerov, D.: Modeling, analysis and throughput optimization of a generational garbage collector. In: ISMM, pp. 1–9 (2009).

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Peter Libič
    • 1
    Email author
  • Lubomír Bulej
    • 1
  • Vojtěch Horký
    • 1
  • Petr Tůma
    • 1
  1. 1.Department of Distributed and Dependable Systems, Faculty of Mathematics and PhysicsCharles University in PraguePrague 1Czech Republic

Personalised recommendations