DEV Community


Posted on

Started enjoying spring-boot-startup-bench

Following s1p tweets, I found an interesting one this morning.

That’s why I enjoyed this repository today.

Build failed

When I tried to build it with $ ./mvnw clean install, it failed. Reading the error message, I modified one line and the build succeeded.

Strange Result

Then I ran the benchmark with $ (cd benchmarks/; java -jar target/benchmarks.jar). But it showed a strange result.

The petclinicLatest(Precompute)Thin results were too slow.


I didn’t know what the Thin means. Then I reached to and understood it’s an experimental library to make the jar file thin and download jars when it starts for the first time.

I read the source code of the benchmark module to know how it runs the target, and added --thin.debug=true to see the debug output.

java -Xmx128m \
  -XX:TieredStopAtLevel=1 \
  -jar petclinic-latest/target/petclinic-latest-1.4.2-thin.jar \
  --thin.debug=true \
Enter fullscreen mode Exit fullscreen mode


I forgot to take a memo, but it showed jar resolution log. I noticed the petclinic-latest loaded some SNAPSHOT version libraries.

I guess every time it would check the SNAPSHOT version of the maven repository. So I modified the pom file to use RELEASE version.


Though it would be different from the original aim to compare the SNAPSHOT version speed, I enjoyed the repository, and I would like to understand the details of this repository especially Flux benchmarks which is on the tweet picture.

Top comments (0)