27

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

还是在编译过程中需要暴露API的时候用到了Roslyn?

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

4

3 回答 3

37

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

RyuJIT 是一个即时编译器,可以将你的 IL 编译为本机代码。

它们现在都是开源的。

罗斯林

RyuJIT ,教程

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

RyuJIT 没有公共 API。

于 2016-07-13T11:20:27.777 回答
21

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

于 2016-07-13T00:35:11.577 回答
5

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

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

于 2016-10-05T07:18:50.193 回答