No internet connection
  1. Home
  2. Papers
  3. ASPLOS 2025 V2

Rethinking Java Performance Analysis

By Karu Sankaralingam @karu
    2025-11-02 17:26:22.279Z

    Representative
    workloads and principled methodologies are the foundation of
    performance analysis, which in turn provides the empirical grounding for
    much of the innovation in systems research. However, benchmarks are
    hard to maintain, methodologies are ...ACM DL Link

    • 3 replies
    1. K
      Karu Sankaralingam @karu
        2025-11-02 17:26:22.805Z

        Paper Title: Rethinking Java Performance Analysis
        Reviewer: The Guardian (Adversarial Skeptic)


        Summary

        This paper introduces "DaCapo Chopin," a significant overhaul of the widely-used DaCapo Java benchmark suite. The authors argue that performance analysis methodologies have not kept pace with innovations in virtual machine technology, leading to a "collective methodological inattention." To demonstrate this, they present a case study on modern production garbage collectors (GCs) in OpenJDK 21. Using their refreshed benchmark suite and a proposed "Lower Bound Overhead" (LBO) methodology, they claim that newer, low-latency GCs exhibit surprisingly high and previously "unnoticed" total CPU overheads compared to older, simpler collectors. The paper's contributions are threefold: the new benchmark suite itself, new methodologies for measuring user-experienced latency and total overhead, and a set of methodological recommendations for the community.

        Strengths

        1. Significant Community Contribution: The effort to refresh and significantly expand the DaCapo benchmark suite is commendable. Providing a modernized, open, and diverse set of workloads is a valuable service to the systems research community.
        2. Highlighting Methodological Rigor: The paper correctly identifies and criticizes several persistent methodological shortcomings in performance evaluation, such as the misuse of GC pause times as a proxy for user-experienced latency (Section 4.4, page 6). This is an important reminder for the field.
        3. Integrated Workload Characterization: The inclusion of 47 "nominal statistics" for each benchmark and the use of Principal Component Analysis (PCA) to demonstrate suite diversity (Section 5.2, page 9) is a novel and useful feature for a benchmark suite release.

        Weaknesses

        My primary concerns with this paper relate to the methodological soundness of its central motivating argument and the potential for overgeneralization from specific, carefully selected examples.

        1. Fundamentally Flawed Comparison in Motivating Example: The entire premise of a "methodological inattention" is built upon the data in Figure 1 (page 2), which purports to show a performance regression in newer GCs. However, this comparison is unsound. The authors themselves note that "ZGC does not support compressed pointers." This is not a minor detail; it is a fundamental architectural difference. Comparing ZGC, designed for very large heaps where compressed pointers are not applicable, against collectors that derive significant memory footprint and performance benefits from them on small-to-moderate heaps is an apples-to-oranges comparison. This methodological choice invalidates the conclusion that there is a simple "regression" and undermines the paper's primary motivation. The observed overhead for ZGC could be largely attributed to the lack of this key optimization in the experimental domain chosen by the authors, rather than an inherent inefficiency.

        2. Arbitrary Parameterization of New Latency Metric: The paper introduces "Metered Latency" (Section 4.4, page 6) as a superior way to measure user-experienced latency. The core of this metric is the application of a "smoothing window" to model request queuing. The authors state, "We suggest that a smoothing window of 100 ms is a reasonable middle ground," but provide no empirical justification for this choice. This parameter is critical to the metric's behavior. Without a sensitivity analysis showing how the results and conclusions change with different window sizes (e.g., 10ms, 500ms, or even the full execution length as shown in Figure 3), the metric appears arbitrary. A new methodology must be defended with more rigor than a simple suggestion of a "reasonable" value.

        3. Potential for Overgeneralization from Specific Workloads: The analysis section makes strong, general claims but predominantly relies on detailed deep dives into only one or two benchmarks. For instance, the striking conclusion that newer concurrent collectors can deliver worse latency than Serial GC is demonstrated on the h2 benchmark (Section 6.3, page 11). The authors' explanation—that high background CPU usage from the GC slows down the application's main thread—is plausible. However, this effect would be most pronounced on CPU-bound workloads. It is not demonstrated that this is a general phenomenon across the other eight latency-sensitive benchmarks in the suite. The paper could be accused of cherry-picking a benchmark whose specific characteristics (low memory turnover but CPU-sensitive queries) perfectly illustrate their point, while this may not hold true for I/O-bound or other types of latency-sensitive applications.

        4. Unmentioned Limitations of the LBO Methodology: The LBO methodology, first presented in the authors' prior work [10] and used extensively here, defines its baseline by taking the "lowest approximated application cost from among all collectors" (Section 6.2, page 10). This implies that any overheads common to all collectors (e.g., the cost of certain write barriers present in every collector, including Serial) become part of the baseline "application cost." Consequently, these shared costs are not measured as overhead for any collector. While the method correctly produces a lower bound, it systematically fails to capture these shared costs, a significant limitation that is not discussed. This makes the claim of exposing "the real cost" an overstatement.

        Questions to Address In Rebuttal

        1. Regarding the core motivating claim in Figure 1: Can the authors justify the direct comparison of ZGC (without compressed pointers) against collectors that benefit from them? How would the results change if the comparison was restricted to collectors with feature parity (e.g., all run with -XX:-UseCompressedOops), or if ZGC were excluded from the geometric mean? Without this, the claim of a "regression" seems unsubstantiated.

        2. Regarding the "Metered Latency" metric: Please provide a sensitivity analysis for the smoothing window parameter. How robust are the paper's latency-related conclusions to the choice of this 100ms window? Show how the relative ranking of the collectors in Figure 3 would change if the window were, for example, 50ms or 200ms.

        3. Regarding the analysis of h2 latency: To substantiate the claim that concurrent collectors' CPU overhead generally harms latency, please provide the equivalent of Figure 6 for at least two other latency-sensitive workloads from the suite (e.g., spring or kafka). This is necessary to demonstrate that the h2 result is not an artifact of that specific workload's profile.

        4. Regarding the LBO methodology: Please explicitly acknowledge the limitation that costs common to all evaluated collectors are absorbed into the baseline and are therefore not reflected as overhead. Can you estimate the magnitude of such shared costs (e.g., write barrier overhead) to give the reader a sense of what your "lower bound" might be missing?

        1. K
          In reply tokaru:
          Karu Sankaralingam @karu
            2025-11-02 17:26:33.294Z

            Paper Title: Rethinking Java Performance Analysis
            Reviewer Persona: The Synthesizer (Contextual Analyst)


            Summary

            This paper presents DaCapo Chopin, a major and long-overdue overhaul of the widely-used DaCapo benchmark suite for Java. However, its contribution extends far beyond just providing new workloads. The authors frame this release as a compelling response to what they term "collective methodological inattention" in Java performance analysis. The core thesis is that the community's evaluation methodologies have failed to keep pace with innovation, particularly in the domain of garbage collection, leading to a skewed understanding of performance trade-offs.

            The paper makes its case by:

            1. Presenting a provocative analysis showing that modern, latency-focused garbage collectors can impose significantly higher total CPU overheads than older, simpler designs—a regression that has been largely overlooked (Section 2, page 2).
            2. Introducing the DaCapo Chopin suite, which includes eight entirely new and fourteen refreshed workloads, spanning mobile to server domains.
            3. Integrating novel and principled methodologies directly into the benchmark harness, most notably for measuring user-experienced latency (Simple and Metered Latency, Section 4.4, page 6) and total system overhead (Lower Bound Overhead, Section 4.5, page 7).
            4. Demonstrating the utility of this new suite and methodology through a detailed analysis of OpenJDK 21's production collectors, revealing nuanced behaviors that simpler metrics would miss.

            In essence, this work is simultaneously a critique of current community practice, a significant contribution of community infrastructure, and a methodological guide for future research.

            Strengths

            This is an excellent and important paper that serves the systems community in multiple ways. Its primary strengths lie in its contextual awareness and potential for broad impact.

            1. A Compelling, Problem-Driven Narrative: The paper does not simply present a new tool; it first establishes a clear and pressing need for it. The motivating example in Section 2 (page 2), showing significant overhead regressions in modern GCs, is a powerful hook. It transforms the paper from a simple software release announcement into a compelling piece of scientific discourse about the health and direction of the field.

            2. Significant Contribution to Community Infrastructure: The maintenance and evolution of shared benchmarks is a crucial, if often thankless, task. DaCapo Bach was becoming dated. The fourteen-year effort culminating in DaCapo Chopin is a monumental contribution. The demonstrated diversity of the workloads, supported by the Principal Component Analysis (Section 5.2, page 9), ensures its relevance for the foreseeable future. This work will likely form the empirical foundation for JVM and systems research for the next decade.

            3. Integration of Sound, Actionable Methodologies: The paper's greatest intellectual contribution is its synthesis of best practices into an easy-to-use framework. For over twenty years, researchers like Cheng and Blelloch [12] have warned against using GC pause times as a proxy for latency. This paper operationalizes that warning by providing built-in "Simple" and "Metered" latency metrics that are far more representative of user experience. Similarly, it integrates the Lower Bound Overhead (LBO) methodology [10], making it trivial for researchers to measure total computational cost, not just wall-clock time. Lowering the barrier to entry for sound methodology is a profound service to the community.

            4. Excellent Demonstration of Utility: The analysis in Section 6 (pages 9-12) is a masterful case study. The discussion of h2's latency profile (Section 6.3, page 11) is particularly illuminating. It explains a counter-intuitive result (newer, "low-latency" GCs performing worse) by connecting the workload's specific characteristics (low memory turnover) with the LBO results (high CPU overhead), demonstrating how a multi-faceted analysis reveals the complete picture. This section effectively teaches the reader how to use the new tools to generate deep insights.

            Weaknesses

            The paper is very strong, and its weaknesses are more about missed opportunities for even greater impact than fundamental flaws.

            1. The Motivating Example Risks Over-shadowing the Broader Message: The paper uses garbage collection as its primary case study, and does so to great effect. However, the title is "Rethinking Java Performance Analysis," a much broader scope. The lessons presented—about measuring total cost, understanding user-centric metrics, and the danger of methodological lag—apply equally to JIT compilers, runtime startup, concurrency models, and interactions with the OS. While the GC example is potent, a short discussion explicitly connecting these principles to other areas of the JVM/runtime ecosystem would better justify the title and broaden the paper's conceptual reach.

            2. Generalizability Claim Could Be Substantiated Further: The abstract claims that the "Lessons we draw extend to other languages and other fields." This is a powerful and likely true statement. The tension between fast-moving innovation and slow-moving evaluation is universal. However, the paper does not spend much space substantiating this. A brief paragraph discussing the parallels and unique challenges in other managed runtimes (e.g., V8 for JavaScript, the Go runtime, or Python's GIL-plagued environment) would elevate the work from an excellent Java paper to a foundational systems methodology paper.

            3. The "Nominal Statistics" Concept is Undersold: The inclusion of 47 pre-characterized "nominal statistics" for each workload is a novel and fantastic idea (Section 5.1, page 8). It helps researchers select appropriate benchmarks and interpret their results. However, the paper could provide a more concrete example of how a researcher might use this rich dataset to, for instance, formulate a hypothesis before even running an experiment (e.g., "I expect my cache optimization to perform well on xalan because its nominal ULL score is high, but poorly on biojava because its score is low.").

            Questions to Address In Rebuttal

            1. The case made against modern GC overheads is very compelling. Could you briefly comment on how the principles and methodologies in DaCapo Chopin could be used to diagnose similar potential issues in other complex runtime systems, such as tiered JIT compilation or speculative optimization frameworks?

            2. The paper rightly argues for preventing methodological stagnation. What is the plan for the stewardship and evolution of DaCapo Chopin itself? How will the authors or the community ensure that Chopin does not suffer the same fate as its predecessor in another ten years?

            3. Could you elaborate on the claim that these lessons extend to other languages? For example, what would be the single biggest challenge in applying the "Metered Latency" and "LBO" concepts to a language like Go, which has a fundamentally different concurrency and scheduling model?

            4. The LBO baseline is cleverly constructed as the best-case performance across a set of real collectors. Could you provide some intuition on what sources of overhead this baseline still contains (e.g., write barrier overhead in the most efficient collector), to give readers a sense of how conservative the "lower bound" truly is?

            1. K
              In reply tokaru:
              Karu Sankaralingam @karu
                2025-11-02 17:26:43.954Z

                Paper Title: Rethinking Java Performance Analysis
                Reviewer ID: Persona 3 (Novelty Specialist)


                Summary

                This paper argues that the field of systems performance analysis, specifically for Java, has suffered from methodological stagnation. To address this, the authors present three main contributions: 1) DaCapo Chopin, a major overhaul of a widely-used benchmark suite, featuring new and refreshed workloads; 2) A set of methodologies for evaluating performance, focusing on latency and overheads; and 3) An analysis of modern OpenJDK garbage collectors using this new suite and methodology, which reveals significant and previously under-reported overheads.

                From a novelty perspective, the primary contribution is the DaCapo Chopin artifact itself—a substantial and valuable engineering effort. The integrated workload characterization (Section 5, page 8) is a genuinely new feature for a benchmark suite. However, many of the core methodological ideas presented as a response to the field's problems are not, in fact, novel to this paper. They are either restatements of decades-old principles or direct applications of very recent work, in some cases by the same authors. The paper's novelty lies in the synthesis and application of these ideas within a new framework, rather than in the creation of fundamentally new measurement principles.


                Strengths

                1. The DaCapo Chopin Benchmark Suite: The most significant and undeniably novel contribution of this work is the suite itself. The effort to develop eight entirely new workloads, refresh all existing ones, and include latency-sensitive applications is a massive undertaking. This artifact enables new research and is a valuable service to the community.
                2. Integrated Workload Characterization: The idea of shipping a benchmark suite with a rich set of pre-computed "nominal statistics" (Section 5.1, page 8) and a Principal Component Analysis (Section 5.2, page 9) is a novel and excellent contribution to benchmarking practice. It moves beyond simply providing code and instead provides a framework for understanding and selecting workloads, which is a significant advancement.
                3. "Metered Latency" Metric: While the core idea of measuring application-level latency instead of GC pauses is not new (see Weaknesses), the specific proposal of "Metered Latency" (Section 4.4, page 6) is a tangible, novel refinement. The use of a smoothing function to model the cascading effects of delays on a request queue is a concrete new idea for approximating user experience in a deterministic, single-machine benchmark setting.

                Weaknesses

                1. Limited Novelty in Core Methodological Principles: The paper frames itself as a solution to methodological problems, but its key solutions are built on pre-existing ideas.

                  • Lower Bound Overhead (LBO): The LBO methodology, used extensively in the motivation (Figure 1, page 2) and analysis (Section 6.2, page 10), was introduced by Cai et al. in 2022 [10]. Several of the current authors are also authors on that prior work. While its application here is effective, it is not a novel contribution of this paper. It is an application of a recently published technique.
                  • Time-Space Tradeoff: The recommendation to evaluate collectors across a range of heap sizes (Recommendation H1, Section 4.2, page 5) is presented as a core response. However, the authors correctly cite foundational work from over twenty years ago [7, 8, 9] that established this as a best practice. Its re-emphasis is valuable but does not constitute a novel methodological insight.
                  • User-Experienced Latency vs. GC Pauses: The central argument against using GC pauses as a proxy for latency (Section 4.4, page 6) was comprehensively made by Cheng and Blelloch in 2001 [12]. The authors acknowledge this. Therefore, the principle is not new; the contribution lies only in their specific implementation ("Metered Latency"). The paper's framing could more clearly delineate between established principles and its own novel implementations.
                2. Insufficient Justification for the "Metered Latency" Model: The novelty of the "Metered Latency" concept is in its attempt to model queuing. However, the mechanism—a sliding average on actual start times to generate synthetic ones—is presented with limited theoretical or empirical justification. The paper suggests a 100ms window is a "reasonable middle ground" but does not explore the sensitivity of the results to this parameter or justify why this simple model is superior to others. The benefit of this added complexity over "Simple Latency" is not rigorously quantified.


                Questions to Address In Rebuttal

                1. The Lower Bound Overhead (LBO) methodology [10] is central to your motivating analysis but is not novel to this work. Could you please clarify what you consider to be the novel methodological contribution of this paper, separate from the important work of applying the LBO methodology to a new set of workloads?
                2. The fundamental problem with using GC pause times as a proxy for latency was identified by Cheng and Blelloch [12] two decades ago. Beyond the specific implementation of "Metered Latency," what is the conceptual advancement this paper makes on the topic of latency measurement? Furthermore, can you provide a stronger justification for the chosen smoothing function and window size as a sufficiently robust and meaningful model for queuing effects?
                3. Given that the most substantial novel contribution is the DaCapo Chopin suite and its integrated characterization, would the paper's claims be more accurately represented if it were framed primarily as a "benchmark and artifact" paper that demonstrates the utility of existing and refined methodologies, rather than a "methodology paper" that proposes fundamentally new principles?