【趣玩一下】10倍提升启动的时间?Graalvm打包Springboot+MyBatis实测

graalvm使用前后对比图

相关代码博客:https://blog.csdn.net/weixin_43914278/article/details/134446327
在这里插入图片描述

工具大小时间
graalvm打包的exe文件84.14MB0.251秒
graalvm打包的docker文件121.27MB0.253秒
jar包51.34MB2.153秒

解析

  1. 文件大小:

    • graalvm打包的Docker文件具有最大的大小(121.27MB),其次是graalvm打包的exe文件(84.14MB),最小的是JAR文件(51.34MB)。
    • Docker文件比exe文件大,而exe文件比JAR文件大。
  2. 启动时间:

    • 对于所有三种工具,打包时间相对较短。
    • graalvm打包的exe文件和Docker文件具有类似的启动时间(0.251秒和0.253秒),比JAR文件的启动时间(2.153秒)更快。
    • 与其他两种格式相比,JAR文件需要更多的时间进行启动。
  3. 考虑因素:

    • 如果文件大小是一个关键因素,由于其较小的大小,可能更适合选择JAR文件。
    • 如果打包速度是一个重要考虑因素,并且可以接受较大的文件大小,则graalvm打包的exe或Docker文件可能更合适。
    • 在exe和Docker格式之间的选择可能取决于部署和执行要求。Docker文件通常用于容器化环境,而exe文件可能更适合在Windows环境中直接执行。
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

附录

反射部分一定要打成json
在这里插入图片描述

内存大小

Docker自带的stats命令可以实时监控Docker容器的内存使用情况。在终端中输入以下命令:

docker stats 容器id

普通jar打成的镜像
在这里插入图片描述
graalvm打成的镜像
在这里插入图片描述

实测降低了百分之33

参考docker-compose.yml

version: "3.3"
services:
  graalvm:
    image: graalvm:0.0.1-SNAPSHOT
    ports:
      - 8086:8086
    restart: always
    networks:
      - hm-net
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - 3306:3306
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    restart: always
    networks:
      - hm-net
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
      - "./mysql/init:/docker-entrypoint-initdb.d"
networks:
  hm-net:
    driver: bridge
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值