OJXPerf: Featherlight Object Replica Detection for Java Programs
Bolun Li, Hao Xu, Qidong Zhao, Pengfei Su, Milind Chabbi, Shuyin Jiao,, Xu Liu

TL;DR
OJXPerf is a lightweight profiling tool that detects identical objects in Java programs, enabling developers to optimize memory usage and performance by reducing object duplication.
Contribution
It introduces a novel, sampling-based method using hardware performance monitoring to identify duplicate objects in Java, with minimal overhead.
Findings
Up to 11% reduction in memory usage
Up to 25% speedup in program execution
9% runtime and 6% memory overheads on average
Abstract
Memory bloat is an important source of inefficiency in complex production software, especially in software written in managed languages such as Java. Prior approaches to this problem have focused on identifying objects that outlive their life span. Few studies have, however, looked into whether and to what extent myriad objects of the same type are identical. A quantitative assessment of identical objects with code-level attribution can assist developers in refactoring code to eliminate object bloat, and favor reuse of existing object(s). The result is reduced memory pressure, reduced allocation and garbage collection, enhanced data locality, and reduced re-computation, all of which result in superior performance. We develop OJXPerf, a lightweight sampling-based profiler, which probabilistically identifies identical objects. OJXPerf employs hardware performance monitoring units (PMU)…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
