A Multifaceted Memory Analysis of Java Benchmarks

Orion Papadakis, Andreas Andronikakis, Nikolaos Foutris, Michail Papadimitriou, Athanasios Stratikopoulos, Foivos Zakkak, Polychronis Xekalakis, Christos-Efthymios Kotselidis

Research output: Contribution to conferencePaperpeer-review

380 Downloads (Pure)


Java benchmarking suites like Dacapo and Renaissance are employed by the research community to evaluate the performance of novel features in managed runtime systems. These suites encompass various applications with diverse behaviors in order to stress test different subsystems of a managed runtime. Therefore, understanding and characterizing the behavior of these benchmarks is important when trying to interpret experimental results.

This paper presents an in-depth study of the memory behavior of 30 Dacapo and Renaissance applications. To realize the study, a characterization methodology based on a two-faceted profiling process of the Java applications is employed. The two-faceted profiling offers comprehensive insights into the memory behavior of Java applications, as it is composed of high-level and low-level metrics obtained through a Java object profiler (NUMAProfiler) and a microarchitectural event profiler (PerfUtil) of MaxineVM, respectively. By using this profiling methodology we classify the Dacapo and Renaissance applications regarding their intensity in object allocations, object accesses, LLC, and main memory pressure. In addition, several other aspects such as the JVM impact on the memory behavior of the application are discussed.
Original languageEnglish
Publication statusAccepted/In press - 5 Sept 2023
Event20th International Conference on Managed Programming Languages & Runtimes - Cascais, Portugal
Duration: 22 Oct 202327 Oct 2023


Conference20th International Conference on Managed Programming Languages & Runtimes
Abbreviated titleMPLR23
Internet address


  • JVM
  • Memory Profiling
  • Managed Runtimes
  • Dacapo
  • Renaissance
  • MaxineVM


Dive into the research topics of 'A Multifaceted Memory Analysis of Java Benchmarks'. Together they form a unique fingerprint.

Cite this