RFR: JDK-8326586: Improve Speed of System.map
Thomas Stuefe
stuefe at openjdk.org
Tue Feb 27 07:25:55 UTC 2024
On Fri, 23 Feb 2024 15:31:27 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
> A small optimization that speeds up `jcmd pid System.map` by orders of magnitude by optimizing NMT cache lookup for sequential accesses. This cache is used to map NMT against System information - and the latter usually comes in sequential form, e.g. scanned from `/proc/<pid>/maps` or via VirtualQuery.
>
> On Linux x64, `System.map`for a JVM with an artificially bloated process space (1 million mappings) takes:
>
> before this patch: 6.3 minutes
> with this patch: 4.2 seconds
>
> which is a 87x speed improvement.
>
> Ping @jdksjolen and @gerard-ziemski?
@stefank @dholmes-ora
I changed the type to size_t. It was the easiest. I considered using `unsigned`, but I did not want to deal with clamping and overflows when calculating the new capacity on grow.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17984#issuecomment-1965934087
More information about the hotspot-runtime-dev
mailing list