Skip to content

ikolaxis/evaluate-java-virtual-machines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

evaluate-java-virtual-machines

Contains the Dockerfiles that I used to evaluate how HotSpot VM performs compared to OpenJ9 VM.

Every Dockerfile in this repository runs the well-known application Spring-PetClinic on top of a different Java Virtual Machine (JVM), to allow us to assess the performance of each JVM.

Java 8 - HotSpot

To run with Java 8 - HotSpot:

docker run --name java8-hotspot --rm -it -p 8081:8080 ikolaxis/evaluate-java-virtual-machines:java8-hotspot

Java 8 - OpenJ9

To run with Java 8 - OpenJ9:

docker run --name java8-openj9 --rm -it -p 8082:8080 ikolaxis/evaluate-java-virtual-machines:java8-openj9

Java 11 - HotSpot (default)

To run with Java 11 - HotSpot:

docker run --name java11-hotspot --rm -it -p 8083:8080 ikolaxis/evaluate-java-virtual-machines:java11-hotspot

Java 11 - HotSpot (jlinked)

To run with the minimum required Java 11 - HotSpot, which was assembled using jlink:

docker run --name java11-hotspot-jlinked --rm -it -p 8084:8080 ikolaxis/evaluate-java-virtual-machines:java11-hotspot-jlinked

Java 11 - OpenJ9 (default)

To run with Java 11 - OpenJ9:

docker run --name java11-openj9 --rm -it -p 8085:8080 ikolaxis/evaluate-java-virtual-machines:java11-openj9

Java 11 - OpenJ9 (jlinked)

To run with the minimum required Java 11 - OpenJ9, which was assembled using jlink:

docker run --name java11-openj9-jlinked --rm -it -p 8086:8080 ikolaxis/evaluate-java-virtual-machines:java11-openj9-jlinked

Java 11 - OpenJ9 (Class Data Sharing)

For this experiment, we assume that the shared classes will be cached under directory /tmp. To run with Java 11 - OpenJ9 - Class Data Sharing:

docker run --rm -it -p 8087:8080 -v /tmp:/app/shareclasses ikolaxis/evaluate-java-virtual-machines:java11-openj9-shareclasses

To notice a reduction in memory footprint and startup time, you will need to run more than one instances of the same application, each one running on a different port.

About

The Dockerfiles needed to evaluate Java Virtual Machines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published