Skip to content

Add JMH benchmarks to jsonrpc#929

Merged
jonahgraham merged 1 commit into
eclipse-lsp4j:mainfrom
jonahgraham:jmh
Nov 24, 2025
Merged

Add JMH benchmarks to jsonrpc#929
jonahgraham merged 1 commit into
eclipse-lsp4j:mainfrom
jonahgraham:jmh

Conversation

@jonahgraham

Copy link
Copy Markdown
Contributor

This commit adds some basic benchmarks to serve as a starting point for future benchmarking work.

On the CI we build the benchmarks, but we don't run them.

This commit adds some basic benchmarks to serve as a starting point
for future benchmarking work.

On the CI we build the benchmarks, but we don't run them.
@jonahgraham jonahgraham requested a review from pisv November 23, 2025 00:56
@jonahgraham

Copy link
Copy Markdown
Contributor Author

@sebthom / @pisv I have made some benchmarks so that we have a basis for further discussions. Please have a look at your convenience.

@sebthom

sebthom commented Nov 23, 2025

Copy link
Copy Markdown
Contributor

It is very useful to have some benchmark infrastructure like this ready to use. However regarding JMH I'd like to point out that it is GPL licensed. I once tried to add JMH benchmarks to TM4E but it was rejected by the project lead for legal concerns at the time. Maybe better check with Eclipse Legal team first.

@nixel2007

Copy link
Copy Markdown
Contributor

@sebthom may I ask why? Jmh is distributed under GPL v2 with classpath exception. Also adding jmh plugin does not add jmh itself to the redistributed package, so it should be fine. But I'm not a lawyer.

@sebthom

sebthom commented Nov 23, 2025

Copy link
Copy Markdown
Contributor

Me neither, that was the PR eclipse-tm4e/tm4e#389

I just wanted to bring this to attention. Maybe it is not a problem after all.

@jonahgraham

jonahgraham commented Nov 23, 2025

Copy link
Copy Markdown
Contributor Author

The IP team have previously reviewed and accepted use of JMH, ref: iplab search results - we may not be able to redistribute jmh parts, but since we don't want to do that, we are ok to proceed here.

@pisv pisv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @jonahgraham for this valuable addition to the project! 👍

I have followed along with instructions in benchmarking.md and everything works as expected.

@jonahgraham

Copy link
Copy Markdown
Contributor Author

I have changed this to draft until I get unanimous consent or Eclipse Foundation feedback on this. See eclipse-tm4e/tm4e#389 for the ongoing discussion.

@jonahgraham jonahgraham marked this pull request as draft November 23, 2025 23:52
@jonahgraham jonahgraham marked this pull request as ready for review November 24, 2025 13:14
@jonahgraham

Copy link
Copy Markdown
Contributor Author

Discussion in eclipse-tm4e/tm4e#389 resolved. We are all in agreement that JMH is currently OK to use.

I'm going to merge this now so that dependent work can continue.

@jonahgraham jonahgraham merged commit 89abb92 into eclipse-lsp4j:main Nov 24, 2025
6 checks passed
@jonahgraham jonahgraham deleted the jmh branch November 24, 2025 13:22
@jonahgraham jonahgraham added this to the 1.0.0 milestone Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants