Graal Native Image is a technology to compile Java code ahead-of-time to a lightweight native binary executable, which has the advantages of smaller resources, starts in milliseconds, no warmup needed, and reduce attack surface. The serialization in graalvm is tricky and slow since it doesn't support reflection, jit, and bytecode manipulation. Many performance optimization can't be applied in graalvm.
In Fury 0.4.0 version, Fury can run on GraalVM native image efficiently and is easy-to-use. Neither reflection nor meta config are needed. Fury generates all code for Fury JIT framework and MethodHandle/LambdaMetafactory at graalvm native image build time. Then use those generated code for serialization at runtime without any extra cost, the performance is great.
This is a big stepp for jvm serialization, please give it a try and share us with your feedbacks
2 comments
[ 3.2 ms ] story [ 18.4 ms ] threadIn Fury 0.4.0 version, Fury can run on GraalVM native image efficiently and is easy-to-use. Neither reflection nor meta config are needed. Fury generates all code for Fury JIT framework and MethodHandle/LambdaMetafactory at graalvm native image build time. Then use those generated code for serialization at runtime without any extra cost, the performance is great.
This is a big stepp for jvm serialization, please give it a try and share us with your feedbacks