gpt4 book ai didi

.net - 为什么不到处都有 JIT(Just In Time)编译器?

转载 作者:行者123 更新时间:2023-12-01 08:00:05 25 4
gpt4 key购买 nike

我最近了解到 JIT 编译器用于将独立于平台的代码编译为 native 代码。 JVM 和 .net 运行时环境使用它,以获得更好的性能并显着减少编译时间。我的问题是,为什么不将直接编译为 native 代码的普通编译器(如 c 编译器)也制作为 JIT?如果使用 JIT 编译器,是否有使用限制或规范?

最佳答案

JIT 有优点也有缺点。如果您将软件部署到许多不同的 PC 上,JIT 会非常有用,因为 JIT 编译器可以检测如何针对每个特定平台优化代码。

问题是 JIT 增加了另一个必须在软件首先执行之前执行的步骤:首先必须将其编译为 IL,然后再编译为机器代码,这意味着额外的性能开销。然而,这种从 IL 到机器码的转换只需要在软件第一次运行时完成,因此每次后续调用都会快得多。

所以基本上(根据经验)你可以说:如果软件是一个长时间运行的过程,那么使用 JIT 通常是好的,如果软件的生命周期很短,最好使用 native 代码。

关于.net - 为什么不到处都有 JIT(Just In Time)编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13689435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com