RFR: 8317453: NMT: Performance benchmarks are needed to measure speed and memory
Afshin Zafari
azafari at openjdk.org
Wed Apr 23 09:54:01 UTC 2025
On Tue, 22 Apr 2025 14:50:41 GMT, Gerard Ziemski <gziemski at openjdk.org> wrote:
> When benchmarking malloc the multi-threaded performance is important. If you take a lock while malloc:ing you probably don't get any significant performance degradation a single-threaded run, but if you malloc from multiple threads you will likely see a significant performance / latency degradation. Has this been considered when thinking about the performance of NMT and this tool?
One possible usage of this benchmark is that we can record a series of NMT requests for more realistic applications. Then we can replay the record with different change-sets of NMT. We can compare the speed of replaying the records. A scenario like this:
- run `JavaDemo` , for example, and record NMT requests to `record_file.data`
- replay `record_file.data` with NMT feature-set-1 and save timings to `times_feat-1.data`
- replay `record_file.data` with NMT feature-set-2 and save timings to `times_feat-2.data`
- compare timings (`times_feat-1.data` and `times_feat-2.data`) and analyse the performance degrade/upgrade
It is expected that the application (`JavaDemo` in the example) will run slower due to synchronized `malloc` calls. However, by replaying same record with different change-sets, we can gain information on "whether a new feature can improve NMT performance or not".
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23786#issuecomment-2823736623
More information about the hotspot-dev
mailing list