Add org.eclipse.tm4e.core.benchmarks#389
Conversation
|
@mickaelistria the license check failed because jmh ist not recognized. I don't know how to fix this. Also since we are not bundling/publishing jmh I am not sure how relevant this is. |
|
That's very interesting. I'm not much familiar with JMH and benchmarks. Can you please add a README.md file or something like that in the module to describe how to run it and how to interpret the results and whatever info that could help? |
|
I'm afraid JMH is GPL so we not may be able to license this bundle under EPL if we want to use JMH. We'd need the permission to publish this code under GPL as well. |
|
Oh, I overlooked that :-/ I will try to come up with an alternative, I still think it is useful to have some standard benchmark to better understand the implications of certain changes. |
I believe this conclusion was too conservative here, jmh has been approved for use with numerous projects. iplab search results |
|
Approved for use, OK; but here it's different, what is proposed is to host code that uses JMH APIs.
|
|
I had cross-referenced here because @sebthom had cited this PR as a reason not to accept a similar PR in LSP4J. I think that the LSP4J (and this PR) are the same as how RDF uses it.
But, not just normal GPLv2, but the classpath exception Benchmark.java (for example) is explicitly in the classpath exception as designated by the JMH LICENSE. The licensing of JMH is the same as the JDK's standard library (e.g. String.java + JDK license). Have I missed something above? If you still think this isn't ok I will raise it with Eclipse Foundation and block merging eclipse-lsp4j/lsp4j#929 |
Apparently not at all; you've demonstrated I was the one who was missing something (the classpath exception). |
|
Thanks @mickaelistria for checking again. Much appreciated and we will proceed with adding the equivalent to LSP4J in eclipse-lsp4j/lsp4j#929 |
This PR adds a test-plugin containing a JMH based benchmark of Grammar#tokenizeLine.
The benchmark is not executed during the regular build but can be launched using the provided run-benchmark.sh / run-benchmark.cmd scripts.