javacpp
javacpp copied to clipboard
JDK 15 Panama Support ( Sealed Classes , Foreign-Memory )
Unfortunately this annotation does not show up in the online javadoc, but I can still see it using my IDE (Eclipse), and I assume that other IDEs provide a similar mechanism, so that is a fast way to check:
JDK 14-15 will have much great features like:
Sealed Classes: https://jaxenter.com/java-15-news-170322.html
JDK 14 Foreign-Memory Access API: https://medium.com/@youngty1997/jdk-14-foreign-memory-access-api-overview-70951fe221c9
https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md
and
http://www.deepnetts.com/blog/what-is-project-panama-and-why-is-it-important-for-machine-learning-on-java-platform.html
Sealed Classes and Foreign-Memory Access will improve performance much. It would be good to see these features in JavaCPP
So Libraries generated with JavaCPP will be much faster then before.
There is also preview JDK 15 https://github.com/openjdk/panama-foreign
JDK 9 also have Java 9 adds the @HotSpotIntrinsicCandidate annotation. Methods annotated with that annotation will have intrinsics for them. intrinsics functions are direct call functions that inline java calls as direct assembly intrinsics can be used powerful tool for javacpp
Project Panama also has SIMD in Java http://cr.openjdk.java.net/~thartmann/offsite_2018/Panama_Offsite_2018.pdf http://cr.openjdk.java.net/~vlivanov/panama/Generic.java https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md
There is also tutorial for panama simd optimization over jvm: https://software.intel.com/content/www/us/en/develop/articles/vector-api-developer-program-for-java.html
@saudet There is new great JVM for Java named: TornadoVM that makes GPU and CPU ( APU Programming easier ) All Java Stream API's smartly converted to GPU or CPU very great project
Check here: https://www.youtube.com/watch?v=6oRmxjoe03g and https://www.youtube.com/watch?v=nPlacnadR6k