Advertisement

Estimating the Impact of Code Additions on Garbage Collection Overhead

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

Abstract

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.

Keywords

Garbage collection Performance Modeling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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). http://doi.acm.org/10.1145/1012888.1005693 CrossRefGoogle Scholar
  3. 3.
    Blackburn, S.M., et al.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA, pp. 169–190 (2006). http://doi.acm.org/10.1145/1167473.1167488
  4. 4.
    Hertz, M., Berger, E.D.: Quantifying the performance of garbage collection vs. explicit memory management. In: OOPSLA, pp. 313–326 (2005). http://doi.acm.org/10.1145/1094811.1094836
  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). http://doi.acm.org/10.1145/1133651.1133654 CrossRefGoogle Scholar
  6. 6.
    Jones, R.E., Ryder, C.: A study of Java object demographics. In: ISMM, pp. 121–130 (2008). http://doi.acm.org/10.1145/1375634.1375652
  7. 7.
    Li, P., Ding, C., Luo, H.: Modeling heap data growth using average liveness. In: ISMM, pp. 71–82 (2014). http://doi.acm.org/10.1145/2602988.2602997
  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). http://doi.acm.org/10.1145/2568088.2568097
  9. 9.
    Libič, P., Tůma, P., Bulej, L.: Issues in performance modeling of applications with garbage collection. In: QUASOSS, pp. 3–10 (2009). http://doi.acm.org/10.1145/1596473.1596477
  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). http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf
  12. 12.
    Vengerov, D.: Modeling, analysis and throughput optimization of a generational garbage collector. In: ISMM, pp. 1–9 (2009). http://doi.acm.org/10.1145/1542431.1542433

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Peter Libič
    • 1
  • 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