Skip to content

8365199: Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing - #686

Open
olivergillespie wants to merge 1 commit into
openjdk:masterfrom
olivergillespie:backport-olivergillespie-5856dc34-master
Open

8365199: Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing#686
olivergillespie wants to merge 1 commit into
openjdk:masterfrom
olivergillespie:backport-olivergillespie-5856dc34-master

Conversation

@olivergillespie

@olivergillespie olivergillespie commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Hi all,

Please review this backport of commit 5856dc34.

Mostly clean, just a simple change in the context of jfrSet.hpp because of 8365264: Rename ResourceHashtable to HashTable, but trivial to resolve since this change removes all usage of the hash table in jfrSet anyway.

One of our Corretto 25 users hit significant performance issues (in a use-case that involves massive platform thread churn), which are resolved by this change.

Confirmed that the 'benchmark' in the issue sees the same performance improvement (run-time halved).

// before
java -XX:StartFlightRecording Test  52.40s user 7.03s system 561% cpu 10.592 total
// after
java -XX:StartFlightRecording Test  38.18s user 9.76s system 887% cpu 5.399 total

Thanks!



Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8365199 needs maintainer approval

Issue

  • JDK-8365199: Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing (Enhancement - P3)

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/686/head:pull/686
$ git checkout pull/686

Update a local copy of the PR:
$ git checkout pull/686
$ git pull https://git.openjdk.org/jdk25u-dev.git pull/686/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 686

View PR using the GUI difftool:
$ git pr show -t 686

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/686.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper

bridgekeeper Bot commented Jul 30, 2026

Copy link
Copy Markdown

👋 Welcome back ogillespie! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@olivergillespie
olivergillespie marked this pull request as ready for review July 30, 2026 16:09
@openjdk

openjdk Bot commented Jul 30, 2026

Copy link
Copy Markdown

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk Bot changed the title Backport 5856dc34c82de9f840be1dc28a9917224971491f 8365199: Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing Jul 30, 2026
@openjdk

openjdk Bot commented Jul 30, 2026

Copy link
Copy Markdown

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk Bot added backport Port of a pull request already in a different code base rfr Pull request is ready for review labels Jul 30, 2026
@mlbridge

mlbridge Bot commented Jul 30, 2026

Copy link
Copy Markdown

Webrevs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Port of a pull request already in a different code base rfr Pull request is ready for review

Development

Successfully merging this pull request may close these issues.

1 participant