Migrate to Java 11
Java 11 is the first Long-Term-Support (LTS) release since Java 8. It provides some performance improvements, such as the improved garbage collector G1GC and, interesting for us, compact strings, which might significantly improve the performance of sequence processing. In addition, Java 11 provides some minor language-level improvements.
Although Java 8 extended support runs until 2030, both the language-level improvements and especially the performance improvements make a good case for migrating to Java 11. To migrate, there are a few things to sort out:
-
Update: implemented in e8a35d48pom.xml
for compilation against and enforcement of Java 8 -
Benchmark performance differences for (a subset of) PanTools functionalities: -
Update CI pipeline to use JDK 11: implemented in af195496 -
Sanity-check equality of outputs for Java 8 and Java 11 versions for (a subset of) PanTools functionalities: -
build_pangenome
-
map
-
-
Decide on stopping support on Java 8: see considerations in comment
Edited by Moed, Matthijs