java - 带有 JIT 的 JRE 是否比带有普通 Java 解释器的 JRE 快得多?
问题描述
最近我将我的 linux 机器中的 JRE 从 1.7 +JIT 升级到没有 JIT 的 1.8,并注意到性能有很大的下降,即时编译 JVM 是否比带有解释器的 JVM 快得多?谢谢,
解决方案
JIT 的全部目的是加速代码执行。
要记住的主要事情:JIT 增加了一个“热身”阶段。JVM 必须花时间分析您的代码在做什么,然后决定将哪些部分编译为机器代码。当然,这个编译步骤也需要很多时间。但是一旦一个方法被编译成机器代码,它当然会快几个数量级。
但请注意:我注意到性能的巨大下降几乎是毫无意义的说法。性能仅在给定上下文的情况下才有意义。含义:工作负载的上下文(你在运行什么)和实际的、真实的数字。
推荐阅读
- reactjs - React Router - 页面在路由更改时不会重新渲染
- ios - IOS:由于 WebView 上的 App Tracking Transparency,App 被拒绝
- memory - 有没有一种方法可以分析大面积(德国)的 OMS(开放街道地图)pbf 文件而不会遇到内存问题?
- django - Django:在错误请求 400 之后,回溯以文本形式出现在表单上
- c# - 实体框架动态 linq where 来自具有动态 where 子句的通用源
- reactjs - 如何访问 react-facebook-login 库的官方文档
- api - Github 搜索 API
- java - Java 规范 JPA Join 与 SQLite 中的表值函数
- java - 提取两个用空格填充的管道之间的数字
- java - 在索引中找不到生产者方法返回类型:org.springframework.web.client.RestTemplate