JDK-8317453 : NMT: Performance benchmarks are needed to measure speed and memory
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P4
  • Status: In Progress
  • Resolution: Unresolved
  • Submitted: 2023-10-03
  • Updated: 2025-06-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 26
26Unresolved
Related Reports
Blocks :  
Blocks :  
Blocks :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8348035 :  
Description
In JDK-8314438 we have a very nice synthetic benchmark that can be used to measure speed performance of unsafe malloc.

However, we need a benchmark that measures the memory used by NMT as well, and for that we need to drop into native code on the VM level.

I propose a mechanism to record all the NMT requests to allocate the memory, which can be later used to "replay" it to measure performance that is as close to the real thing as possible - see the "NMTBenchmark design document.pages.pdf" for more details.

Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/23786 Date: 2025-02-25 21:52:48 +0000
22-04-2025

Current PR: https://github.com/openjdk/jdk/pull/23786
25-02-2025

Attached a sample output produced with the tool in jdk/src/utils/nmt
17-01-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/23115 Date: 2025-01-14 19:12:45 +0000
14-01-2025

Just a note to myself on JDK-8333151 investigation to eliminate Arenas in favor of platform specific mallocs.
17-06-2024