Rethinking Java Performance Analysis
| dc.contributor.author | Blackburn, Stephen M. | |
| dc.contributor.author | Cai, Zixian | |
| dc.contributor.author | Chen, Rui | |
| dc.contributor.author | Yang, Xi | |
| dc.contributor.author | Zhang, John | |
| dc.contributor.author | Zigman, John | |
| dc.date.accessioned | 2025-01-14T23:54:05Z | |
| dc.date.available | 2025-01-14T23:54:05Z | |
| dc.date.issued | 2025-03-30 | |
| dc.description.abstract | 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 hard to develop, and our field moves fast. The tension between our fast-moving fields and their need to maintain their methodological foundations is a serious challenge. This paper explores that challenge through the lens of Java performance analysis. Lessons we draw extend to other languages and other fields of computer science. In this paper we: i) introduce a complete overhaul of the DaCapo benchmark suite [6], characterizing 22 new and/or refreshed workloads across 47 dimensions, using principal components analysis to demonstrate their diversity, ii) demonstrate new methodologies and how they are integrated into an easy to use framework, iii) use this framework to conduct an analysis of the state of the art in production Java performance, and iv) motivate the need to invest in renewed methodologies and workloads, using as an example a review of contemporary production garbage collector performance. We highlight the danger of allowing methodologies to lag innovation and respond with a suite and new methodologies that nudge forward some of our field’s methodological foundations.We offer guidance on maintaining the empirical rigor we need to encourage profitable research directions and quickly identify unprofitable ones. | |
| dc.description.sponsorship | This material is partially based upon work supported by the Australian Research Council under Grant No. DP190103367. The ARM microarchitectural evaluation uses the hardware donated by Ampere Computing. Zixian Cai is supported by an Australian Government Research Training Program Scholarship. | |
| dc.format.mimetype | application/pdf | en_AU |
| dc.identifier.isbn | 979-8-4007-0698-1 | |
| dc.identifier.uri | https://hdl.handle.net/1885/733732386 | |
| dc.language.iso | en_AU | en_AU |
| dc.publisher | Association for Computing Machinery | |
| dc.relation | http://purl.org/au-research/grants/arc/DP190103367 | |
| dc.relation.ispartof | ASPLOS ’25: 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems | |
| dc.rights | This work is licensed under a Creative Commons 4.0 International License. | |
| dc.rights.license | Creative Commons 4.0 International License. | |
| dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | |
| dc.subject | Performance Analysis | |
| dc.subject | Java | |
| dc.subject | Garbage Collection | |
| dc.title | Rethinking Java Performance Analysis | |
| dc.type | Conference paper | |
| dcterms.accessRights | Open Access | |
| dspace.entity.type | Publication | |
| local.bibliographicCitation.lastpage | 15 | |
| local.bibliographicCitation.startpage | 1 | |
| local.contributor.affiliation | Cai, Zixian, The Australian National University | |
| local.identifier.doi | 10.1145/3669940.3707217 | |
| local.publisher.url | https://dl.acm.org/ | |
| local.type.status | Published Version |