TAMULib / cantaloupe

High-performance dynamic IIIF image server in Java
https://medusa-project.github.io/cantaloupe/
Other
0 stars 0 forks source link

Increase the JDK/Java Version. #7

Open kaladay opened 20 hours ago

kaladay commented 20 hours ago

We should try increasing the Java/JDK version in use to gain more up to date and possible better performant and more well supported image processing for Cantaloupe.

Docker Images:

The JDK22 looks like a good target for now:

It has the longest support at the moment.. Alternatively, we could tweak the docker container ourselves and try to get JDK23, which is generally supported until March 2025.

All the dockerfile is doing is using a wget to get the specific JDK:

The processors documentation in Cantaloupe states:

This processor relies the JDK's Image I/O JPEG plugin. This plugin implements the JFIF standard strictly and is known to fail to read certain images with error message such as, "Inconsistent metadata read from stream." If this turns out to be a problem, try updating to the latest JRE version and see if that fixes it...

Upgrading the JDK may have performance benefits.

The Garbage Collectors may be of relevance as well according to the documentation:

Over the years, the JVM's default GC implementation has changed as new GCs have been developed that try to improve efficiency and reduce freezes. Java 7 and 8 use the Parallel GC. The G1 GC became the default in Java 9. Java 11 introduced ZGC as an experimental new GC, and Java 12 introduced Shenandoah as another experimental GC. All of these GCs can be experimented with by passing command-line arguments to the java invocation.

see: