Product Design, Manufacturing & Innovation Resources
家 » 即时 (JIT) 编译

即时 (JIT) 编译

1990
软件工程师在现代工作空间中优化即时编译。.

(图片仅供参考)

及时 即时编译 (JIT) 是一种混合方法,它结合了编译和解释两种方法的特点。与预先编译代码 (AOT) 不同,JIT 编译先执行编译后执行代码。 编译器 它在运行时,也就是在执行之前,将字节码翻译成本地机器代码。这使得可以根据实际运行时行为进行动态优化,通常比纯解释执行性能更高。

A JIT 编译器 operates within a runtime environment or virtual machine. When a method is called for the first time, its platform-independent bytecode is compiled into native machine code and cached. Subsequent calls to that method execute the fast, native code directly, bypassing the overhead of interpretation. This introduces a small startup or warm-up delay but can result in significant long-term performance gains for long-running applications.

JIT 编译的关键优势在于能够执行基于性能分析或自适应的优化。运行时可以监控代码的执行情况,收集有关哪些代码路径是“热点”(频繁执行)以及正在处理的数据类型的统计信息。静态 AOT 编译器无法获取这些运行时信息,这使得 JIT 能够做出更明智的优化决策。例如,如果 JIT 观察到某个特定的具体类型总是被使用,则可以对虚方法调用进行推测性内联。如果此假设随后被证明不成立,JIT 可以执行“反优化”,并回退到更安全的执行路径。这种动态特性使得 JIT 编译对于面向对象和动态语言来说极其有效。

UNESCO Nomenclature: 1203
- 计算机科学

类型

软件/算法

中断

重大的

用法

广泛使用

前体

  • 提前(aot)编译器
  • 口译员
  • p 码和其他字节码系统
  • 研究 smalltalk 和 lisp 等动态语言
  • 虚拟机概念

应用程序

  • Java虚拟机(jvm)
  • .net 公共语言运行时(clr)
  • 网络浏览器中的 JavaScript 引擎(例如 v8)
  • pypy,一个高性能的python实现
  • 数据库查询执行引擎

专利:

NA

潜在创新理念

  • 预测性 Jit 编译,根据概率模型在代码执行之前对其进行编译
  • 跨设备 jit 编译,其中强大的服务器为低功耗客户端执行 jit
  • 用于 SQL 的 JIT 编译器,根据中间数据统计信息在执行过程中重新优化查询计划
  • 安全的 jit 编译器,将运行时安全检查和沙盒插入到生成的代码中
  • 用于配置文件的 jit 编译器(例如 nginx、apache)可加速请求处理
  • 具有能源意识的 jit 编译器,可选择优化来平衡性能和功耗
  • 针对 FPGA 的 jit 编译器,在运行时重新配置硬件
  • 取消优化 jit 编译器,如果优化假设被证明是错误的,则可以恢复到更简单的编译
  • 微服务架构的分布式 Jit 编译
  • jit 编译器可以动态生成供 GPU 执行的代码
Related to: JIT, 准时制 compilation, dynamic compilation, virtual machine, jvm, clr, v8, bytecode, adaptive optimization, runtime.

历史背景

即时 (JIT) 编译

1980
1986-01-01
1990
1990
1993
1998
2010
1980
1982-07-01
1988-06-01
1990
1993
1997-04-23
2001
2010

(如果日期未知或不相关,例如“流体力学”,则提供其显著出现的近似估计)

第十年 周年纪念日

只有注册会员才能免费获得 100% 的全尺寸图片和下载。.

> 登录 <