-
Notifications
You must be signed in to change notification settings - Fork 30
Bump minimum JDK distribution version needed for builds to 24 #67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thank you! I’ll try to review your PRs within the next couple of days. |
Hi @piotrrzysko , Let me know if this needs any modifications. |
Hi, I remember your PRs. I just need a bit more time. |
@@ -33,9 +33,9 @@ java { | |||
// It seems that specifying the minimum supported Java version while allowing the use of newer | |||
// ones isn't possible in Gradle. To test the library against multiple Java versions, the | |||
// workaround proposed in https://github.com/gradle/gradle/issues/16256 has been applied: | |||
if (!JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_18)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran the CI, and it’s failing. I think this might be the cause.
Could you please update the following files:
- https://github.com/simdjson/simdjson-java/blob/main/.github/workflows/ci.yml#L11
- https://github.com/simdjson/simdjson-java/blob/main/.github/workflows/publish.yml#L20
And also the README.md here: https://github.com/simdjson/simdjson-java/blob/main/README.md?plain=1#L76
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the latest JDK-24, some of the VectorOperators have been renamed, breaking backward compatibility.
Do you see any value in continuing to run CI jobs with older distributions before version 24?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can drop support for older versions.
Updating minimum JDK build version to 24, it contains new two vector selectFrom API[1] which can be used to build wider lookup table[2] optimize StructuralIndexer and Utf8Validator. In addition I am also planning to optimize exsting ByteVector shuffling in Utf8Validator using Vector.slice API as per the proposal on panam-dev mailing list[3]
Following are JMH micro profiles with JDK24 and earlier version of JDK18.
Baseline (JDK18)
Latest (JDK24)
All existing tests are passing after upgrade.
Kindly review and approve.
Best Regards,
Jatin
[1] https://tinyurl.com/2w9557us
[2] ionutbalosin/jvm-performance-benchmarks#105
[3] https://mail.openjdk.org/pipermail/panama-dev/2025-August/021095.html