You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.adoc
+33-2Lines changed: 33 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -138,6 +138,37 @@ Upgrading to 2.7 is *not allowed*.
138
138
** During the milestone phase of a new release train, upgrade to the latest version of a dependency unless compatibility with a former version is required.
139
139
Upgrades to new major versions are allowed, too, but consider ways to support multiple major versions for one release train to allow a smoother transition.
140
140
141
+
[[advanced.benchmarks]]
142
+
=== Benchmarks
143
+
144
+
We use JMH for micro-benchmarks.
145
+
146
+
Our benchmarks are located in the `src/jmh/java` directory so that we compile these as part of our main build. To run benchmarks during development we leverage JUnit 5 and the https://github.com/mp911de/microbenchmark-runner[Microbenchmark Runner].
147
+
Enable the `jmh` Maven Profile, add `@Testable` to the benchmark you want to run (of the benchmark class) and run it as it was a JUnit test right from your IDE.
148
+
149
+
NOTE: Microbenchmark Runner is not a tool for running final benchmarks, rather it helps to quickly run benchmarks during development to reduce turnaround time.
150
+
151
+
Benchmarks aren't ran during the build.
152
+
153
+
JMH's Benchmark Generator (Annotation Processor) must be enabled in each module with the Maven Compiler, see the following example:
154
+
155
+
[source,xml]
156
+
----
157
+
<plugin>
158
+
<groupId>org.apache.maven.plugins</groupId>
159
+
<artifactId>maven-compiler-plugin</artifactId>
160
+
<configuration>
161
+
<annotationProcessorPaths>
162
+
<path>
163
+
<groupId>org.openjdk.jmh</groupId>
164
+
<artifactId>jmh-generator-annprocess</artifactId>
165
+
<version>${jmh}</version>
166
+
</path>
167
+
</annotationProcessorPaths>
168
+
</configuration>
169
+
</plugin>
170
+
----
171
+
141
172
[[advanced.change-tracking]]
142
173
=== Change tracking
143
174
@@ -192,7 +223,7 @@ Make sure you keep the original author when amending.
192
223
curl $PULL_REQUEST_URL.patch | git am --ignore-whitespace
193
224
----
194
225
195
-
* If the you merge back a feature branch and multiple developers contributed to that, try to rearrange to commits and squash the into a single commit per developer.
226
+
* If you merge back a feature branch and multiple developers contributed to that, try to rearrange to commits and squash the into a single commit per developer.
196
227
Combine the commit messages and edit them to make sense.
197
228
* Before pushing the changes to the remote repository, amend the commit(s) to be pushed and add a reference to the pull request to them.
198
229
This will cause the pull request UI in GitHub show and link those commits.
@@ -201,5 +232,5 @@ This will cause the pull request UI in GitHub show and link those commits.
0 commit comments