1
Oktfolio 2020-12-23 10:45:04 +08:00
不还是 experimental 吗?很久之前就玩过了。
|
2
kingfalse 2020-12-23 11:18:41 +08:00 via Android
一直在开发,还没 ga,
|
3
lancelock 2020-12-23 11:52:03 +08:00 via iPhone
我试过怎么感觉内存占用高了很多,不过 native 过后表现确实挺好的。
但是 native 我只能在自己本机上打包,在云上用 docker 容器编译就爆内存了好像,部署不了 ci/cd |
5
mamahaha 2020-12-23 12:55:31 +08:00 via Android
graalvm 是啥?
|
6
hantsy 2020-12-23 18:23:14 +08:00 2
experimental 下的那个项目,已经快两年了。Spring Boot 现在使用太麻烦,限制太多,离生产环境使用差太远了。
如果不改变 Spring IOC 本身,类反射和动态代替是最基本的障碍,而这些是 Spring IOC 的基础。目前 Spring 太难了,想作到与 Quarkus 一样几乎不可能。 目前只有 Quarkus 从一开始就是支持 GraalVM 的,Quarkus 是完全抛弃现有的 Weld,重新写一个 Arc 容器(支持 CDI 子集),以适应 [ [ [编译时处理] ] ] 代替之前的 Runtime Proxy 。 Micronaount 在 2.0 以后也添加了支持。 Helidon 2.0 中 SE 版本已经支持(刚刚发布的 Helidon 2.2 还支持了 Java 16 中的 Virtual Threads )。 但是 Native 编译是费力的事,去前写的 Quarkus 的测试: https://github.com/hantsy/quarkus-sample/blob/master/docs/01-start.md 内码启动时间(看程序大小,大约快是 10 到 100 倍,这个最明显的),至少提高一个数量级以上,一般请求性能也有一定优化,内存消耗整体降低了不少。 |
7
abcbuzhiming 2020-12-29 23:29:02 +08:00
这东西最吸引我的就是编译成 native 后启动速度大增,内存占用降了 10 倍不止
|
8
hantsy 2021-01-02 20:10:51 +08:00
@abcbuzhiming 启动速度是快了 10 倍以上。但运行时,随着项目的体积增大,只是有少量提升(内存和响应速度)。
|