首页 > 其他分享 >一个正式项目使用GraalVM进行native compile的启动耗时比较

一个正式项目使用GraalVM进行native compile的启动耗时比较

时间:2024-07-23 15:55:32浏览次数:7  
标签:... 17 boot compile org native GraalVM

环境

windows、graalvm(内置有JDK,可以不用再单独下载jdk了)

项目pom.xml

...
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.5</version>
        <relativePath/>
    </parent>
...
    <properties>
        <java.version>17</java.version>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
...
    <build>
        <plugins>
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

使用Maven进行Native编译

mvn -Pnative native:compile

启动耗时对比

JVM: 8.18秒
Native: 0.61秒

标签:...,17,boot,compile,org,native,GraalVM
From: https://www.cnblogs.com/jiayuan2006/p/18318593

相关文章

  • 《太阁立志传5》d3dcompiler_47.dll丢失最有效的5种解决方法
    遇到《太阁立志传5》(TaikouRisshidenV)游戏运行时报错“d3dcompiler_47.dll文件丢失”的问题,意味着游戏所依赖的DirectX组件缺失或损坏。以下是解决这一问题的五种最有效方法:d3dcompiler_47.dll丢失后果游戏和图形应用:许多现代游戏和图形密集型应用程序依赖于Direct3D,缺少......
  • SQL Server 使用 OPTION (RECOMPILE) 和查询存储的查询
    设置        我们正在使用WideWorldImporters数据库,您可以从Github下载【sql-server-samples/samples/databases/wide-world-importersatmaster·microsoft/sql-server-samples·GitHub】。我正在运行SQLServer2017的最新CU【https://sqlserverbuilds.......
  • SqlServer SQL语句或存储过程运行慢 使用 WITH RECOMP ILE 或 OPTION (RECOMPILE)(重新
    如果您的存储过程包含参数可以重新申明变量把参数接收下,可能解决你过程执行慢的原因。如果未能解决,请参考以下文章内容:WITHRECOMPILE子句可以在以下地方使用:一种是当你创建一个过程时,例如:CREATEPROCEDUREMySPWITHRECOMPILEAS这指示SQLServer在每次调用时重新编......
  • 云原生(Cloud native)
    云原生(Cloudnative)一定义目前比较权威的定义主要来自Pivotal公司和云原生计算基金会(CloudNativeComputingFoundation,简称CNCF)。1.1Pivotal4个要点:DevOps、持续交付、微服务、容器化。六个特质:模块化(Modularity)、可观测性(Observability)、可部署性(Deployab......
  • GraalVM简介及使用
    在本文中,我们将回顾GraalVM是什么、它是如何工作的,以及即时(JIT)编译和提前(AOT)编译之间的区别?GraalVM是一种高性能运行时,为用Java和其他语言编写的应用程序提供了显着的优势。它由Oracle开发,通过利用高级优化和独特的架构,可以更快、更高效地运行应用程序。1.......
  • LLM4Decompile——专门用于反编译的大规模语言模型
    概述论文地址:https://arxiv.org/abs/2403.05286反编译是一种将已编译的机器语言或字节码转换回原始高级编程语言的技术。该技术用于分析软件的内部工作原理,尤其是在没有源代码的情况下;Ghidra和IDAPro等专用工具已经开发出来,但这些工具很难生成人类可读格式的代码。反......
  • 编译器(1)AI for compiler
    简介使用人工智能技术来改进编译器的性能和功能是一个激动人心的领域。以下是一些利用人工智能技术来改进编译器的方法和应用:自动优化:利用机器学习和深度学习技术,可以训练模型来自动优化编译器生成的代码。例如,可以使用神经网络来学习代码优化的模式和规律,从而提高编译器生......
  • 解决nacos报错 Caused by: io.grpc.netty.shaded.io.netty.channel.unix.Errors$Nati
    报错信息:org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)atorg......
  • 【鸿蒙性能优化】基于Camera Kit,获取相机流数据传递给native,进行压缩编码
    示例场景:ATS侧启动相机,使用摄像头采集视频流数据,获取相机视频流数据传递到native侧,通过buffer模式将视频编码成MP4文件保存到沙箱路径。方案描述:具体实现步骤可分为:Step1:申请权限,启动相机。Step2:启动录制,获取视频流数据,获取一帧图像转成JPG格式保存到沙箱路径。Step3:......
  • [debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -
    问题描述最近在跟施磊老师的高性能服务器项目,使用make命令后一直报错以下问题解决方法报错一大堆recompilewith-fPIC,多半是链接静态库是出错了。根据网上经验,在CmakeLists文件中加入-no-pie,但是两种方法进行尝试后都没有效果。#第一种方法add_compile_options(-fPIC)#......