RyuJIT 和 Roslyn 有什么区别?

问题描述 投票:0回答:3

我知道 RyuJIT 是比 JIT 更快的编译器。但这是 .NET 4.6 的新标准还是 Roslyn?

或者是编译过程中需要暴露API的时候才使用Roslyn?

我对它们的目的和它们将在哪些框架中找到感到困惑。有人可以解释一下其中的区别以及当你想要一个而不是另一个时吗?

.net roslyn ryujit
3个回答
42
投票

Roslyn 是将代码(C# 或 VB)编译为 IL 的编译器。

RyuJIT 是一个 Just In Time 编译器,可将 IL 编译为本机代码。

它们现在都是开源的。

罗斯林

RyuJIT教程

如果您想使用语法树、编译和语义模型,Roslyn API 就是您所需要的。

RyuJIT 没有公共 API。


22
投票

Roslyn 是一个编译器,可以获取源代码并生成 IL 字节码。 RyuJIT 在运行时获取所述字节码并生成本机代码。您可以将 Roslyn 嵌入到应用程序中以动态编译源代码,但 RyuJIT 严格用于运行时,据我所知无法访问。


5
投票

您正在尝试将苹果与橙子进行比较...

RyuJIT(.NET 4.6 的默认 x64 JIT)在运行时将 MSIL 编译为本机处理器代码。 Roslyn 从您的(C#?)代码创建 MSIL。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.