4 ms·
AOT: GraalVM Native Image (https://www.graalvm.org/docs/reference-manual/native-image/ https://www.graalvm.org/docs/reference-manual/native-image/), Project Ley
by pron 7y ago
AOT: GraalVM Native Image (https://www.graalvm.org/docs/reference-manual/native-image/ https://www.graalvm.org/docs/reference-manual/native-image/), Project Leyden: https://mail.openjdk.java.net/pipermail/discuss/2020-April/005429.html https://mail.openjdk.java.net/pipermail/discuss/2020-April/0...
SIMD: https://openjdk.java.net/jeps/338 https://openjdk.java.net/jeps/338 (to be merged soon), plus, of course, auto vectorisation, which is already in.
Allocating small objects on the stack: this already happens automatically through escape analysis, but more generally (and more importantly) arrays-of-structs: http://cr.openjdk.java.net/~briangoetz/valhalla/sov/01-background.html http://cr.openjdk.java.net/~briangoetz/valhalla/sov/01-backg...
UTF-8: What do you mean? Java has supported UTF-8 for a loooong long time. Even the source files support Unicode with UTF-8 encoding.
compile-time asserts: Not sure what you mean. But there's a rich compile-time plugin mechanism: https://www.baeldung.com/java-annotation-processing-builder https://www.baeldung.com/java-annotation-processing-builder and even pluggable type systems: https://checkerframework.org/manual/ https://checkerframework.org/manual/
Async/await: how about lightweight threads, instead? https://wiki.openjdk.java.net/display/loom/ https://wiki.openjdk.java.net/display/loom/