Does streampipes support GraalVM Native Image builder? #2688
Replies: 3 comments
-
Hi @yanfeng1992 great question and I also think this would be a very useful (especially for faster startup of extension services which are running on edge devices) feature I'd definitely love to see in StreamPipes. |
Beta Was this translation helpful? Give feedback.
-
Okay, thank you very much for your answer. Can you provide your branch? Let us try to solve this problem together. @dominikriemer |
Beta Was this translation helpful? Give feedback.
-
Hi @yanfeng1992 so it seems that I've deleted my experimental branch since I didn't manage to get it work, but I took some notes with the configurations I tried and put it into the wiki: https://cwiki.apache.org/confluence/display/STREAMPIPES/Native+Image |
Beta Was this translation helpful? Give feedback.
-
Does streampipes support GraalVM Native Image builder? I think if streampipes can support it, it will have better performance and faster startup speed on k8s
Native Image is a technology to ahead-of-time compile Java code to a standalone executable, called a native image. This executable includes the application classes, classes from its dependencies, runtime library classes, and statically linked native code from JDK. It does not run on the Java VM, but includes necessary components like memory management, thread scheduling, and so on from a different runtime system, called “Substrate VM”. Substrate VM is the name for the runtime components (like the deoptimizer, garbage collector, thread scheduling etc.). The resulting program has faster startup time and lower runtime memory overhead compared to a JVM.
The Native Image builder or native-image is a utility that processes all classes of an application and their dependencies, including those from the JDK. It statically analyzes these data to determine which classes and methods are reachable during the application execution. Then it ahead-of-time compiles that reachable code and data to a native executable for a specific operating system and architecture. This entire process is called building an image (or the image build time) to clearly distinguish it from the compilation of Java source code to bytecode.
Beta Was this translation helpful? Give feedback.
All reactions