您现在的位置是:首页 > 文章详情

Java Native-OpenJ9-HotSpot (solon) 与 Go (gin) 对比测试

日期:2024-03-11点击:180

最近做的 《Java(solon) -VS- Go(gin) 之内存与并发测试》 在 bilibili 和 头条 的播放量还不错,就有人想看各种不同的测试:

  • 有人希望添加 rust 的测试
  • 有人希望多加几个不同的 go 框架试试
  • 有人想添加 spring 和 springboot 的测试
  • 有人想看看 java native 原生编译的对比
  • 也有人想加入 c# 和 .net core的对比测试
  • 还有人想添加 php 的对比测试

得慢慢来了......这次是对 java 的几种不同运行时做对比测试:

  • Java Native (就是 GraalVM Native Image 的运行方式)
  • Java OpenJ9
  • Java HotSpot

上次有人说我 macbook 性能太差了,这个没经费啊:)这次我们还是参考 techempower plaintext 的场景测试:

本次测试结果如下:

项目 java-hotSpot (solon) java-openj9 (solon) java-native (solon) go (gin) 备注
运行时 java 17(openjdk) java 17(openj9) java 17(graalvm ce) go 19.3  
操作系统 mac 14.3 mac 14.3 mac 14.3 mac 14.3 同机
硬件 macbook pro 2020 macbook pro 2020 macbook pro 2020 macbook pro 2020 同机
           
测试前状态/内存 64.3Mb 51.5Mb 17.3Mb 5.7Mb  
           
测试后状态/内存 387.4Mb 111Mb 55Mb 13.9Mb  
测试后状态/并发 13.5万 14.8万 11.5万 11万  

测试评语:

本次我们主要是测试 Java 不同运行时的情况,Go 是做为一个基准参考。总体来讲 Java 项目的包体积越大(即 jar 打包后的大小),它的初始内存就会越大。这次测试 java 项目引入的包比之前多,初始内存也变多了。

运行时 内存效果 评语
Java Native 省 75% 左右 内存平稳,有点像 Go。但是 QPS 好像略降了一点点
Java OpenJ9 省 50% 左右 内存有很大的波动,收缩的效果很好。QPS 正常
Java HotSpot   内存高,且收缩效果不好。QPS 正常

QPS 偶尔有波动也正常,Java HotSpot 在我这儿有时候能到 17 万。真不知道这有什么规律?另外,Java Native 的效果很好,其实开发难度不大,只是略麻烦些,建议更多的人尝试。

附测试视频(一镜到底):

原文链接:https://www.oschina.net/news/282498
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章