Skip to content

Commit 528a127

Browse files
dfa1claude
andcommitted
build(performance): remove maven-shade-plugin
Use exec-maven-plugin exclusively for running benchmarks. Fat jar adds ~20s build time with no benefit over exec:java. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c1c5518 commit 528a127

2 files changed

Lines changed: 4 additions & 46 deletions

File tree

CLAUDE.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,14 @@ Never use `mvn install` or `./mvwn install`.
2626
# Run a single test method
2727
./mvnw test -pl reader -Dtest=MyTest#myMethod
2828

29-
# Build benchmark fat jar (slow: ~20s, use for final runs)
30-
./mvnw package -pl performance -am -DskipTests
31-
3229
# Run all benchmarks
33-
java -jar performance/target/benchmarks.jar
30+
./mvnw compile exec:java -pl performance -am -DskipTests
3431

3532
# Run specific benchmark class
36-
java -jar performance/target/benchmarks.jar RustVsJavaReadBenchmark
33+
./mvnw compile exec:java -pl performance -am -DskipTests -Dexec.args="RustVsJavaReadBenchmark"
3734

3835
# Run specific benchmark method (always use ClassName.methodName filter)
39-
java -jar performance/target/benchmarks.jar RustVsJavaReadBenchmark.javaReadVolume
40-
41-
# Fast iteration (no shade, ~2s compile): compile then exec:java
42-
./mvnw compile -pl performance -am -DskipTests
43-
./mvnw exec:java -pl performance -Dexec.args="RustVsJavaReadBenchmark.javaReadVolume"
36+
./mvnw compile exec:java -pl performance -am -DskipTests -Dexec.args="RustVsJavaReadBenchmark.javaReadVolume"
4437
```
4538

4639
## Architecture

performance/pom.xml

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -81,42 +81,7 @@
8181
</annotationProcessorPaths>
8282
</configuration>
8383
</plugin>
84-
<!-- Fat jar: java -jar target/benchmarks.jar [regexp] -->
85-
<plugin>
86-
<groupId>org.apache.maven.plugins</groupId>
87-
<artifactId>maven-shade-plugin</artifactId>
88-
<version>3.6.0</version>
89-
<executions>
90-
<execution>
91-
<phase>package</phase>
92-
<goals>
93-
<goal>shade</goal>
94-
</goals>
95-
<configuration>
96-
<finalName>benchmarks</finalName>
97-
<transformers>
98-
<transformer
99-
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
100-
<mainClass>org.openjdk.jmh.Main</mainClass>
101-
</transformer>
102-
<transformer
103-
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
104-
</transformers>
105-
<filters>
106-
<filter>
107-
<artifact>*:*</artifact>
108-
<excludes>
109-
<exclude>META-INF/*.SF</exclude>
110-
<exclude>META-INF/*.DSA</exclude>
111-
<exclude>META-INF/*.RSA</exclude>
112-
</excludes>
113-
</filter>
114-
</filters>
115-
</configuration>
116-
</execution>
117-
</executions>
118-
</plugin>
119-
<!-- Fast iteration: ./mvnw compile exec:java -pl performance -am -DskipTests -Dexec.args="ClassName.method" -->
84+
<!-- Run benchmarks: ./mvnw compile exec:java -pl performance -am -DskipTests -Dexec.args="ClassName.method" -->
12085
<plugin>
12186
<groupId>org.codehaus.mojo</groupId>
12287
<artifactId>exec-maven-plugin</artifactId>

0 commit comments

Comments
 (0)