什么时候IL编写的代码会比C#编写的代码快?

什么时候IL编写的代码会比C#编写的代码快?,c#,.net,performance,il,C#,.net,Performance,Il,根据(可能从中获得信息) 有些编码是IL,而不是C 我并不是问关于堆栈溢出站点的任何具体问题,但一般来说,IL编写的代码什么时候会比C#编写的代码快 我的理解是,通过阅读Eric Lippert的帖子,.NET中的大多数优化都是在JIT时完成的: 我们让jitter团队担心在代码实际被吐入机器代码时如何优化代码;那是你可以获得真正胜利的地方 在没有任何具体示例的情况下,手工编码的IL可以进行什么样的优化?一种情况是,您比C编译器更了解代码/情况。你可以放弃不必要的指示或案例。不太确定马可是否知道

根据(可能从中获得信息)

有些编码是IL,而不是C

我并不是问关于堆栈溢出站点的任何具体问题,但一般来说,IL编写的代码什么时候会比C#编写的代码快

我的理解是,通过阅读Eric Lippert的帖子,.NET中的大多数优化都是在JIT时完成的:

我们让jitter团队担心在代码实际被吐入机器代码时如何优化代码;那是你可以获得真正胜利的地方


在没有任何具体示例的情况下,手工编码的IL可以进行什么样的优化?

一种情况是,您比C编译器更了解代码/情况。你可以放弃不必要的指示或案例。不太确定马可是否知道马克在做什么的正确术语。如果你想知道马可在说什么,问问马可。很可能,正如汉斯所说,这里发生的事情是,他们动态地生成新的IL,并让它在飞行中紧张不安。这就是
dynamic
在幕后所做的——它生成的新代码与C#编译器在已知类型的情况下首先生成的代码类似。