在C#中运行时内联?

vtd*_*hor 2 c# performance inline

关于C#的几个问题

  1. C#是否支持运行时内联?
  2. JIT在执行代码之前或期间是否进行了优化?
  3. 虚拟函数可以内联吗?

And*_*rey 7

C#不支持任何内联显式.JIT编译器可以在优化时在舞台后面进行一些内联​​.


dth*_*rpe 7

C#语言没有内联,但.NET CLR JIT编译器可以.

虚拟可能在密封类中可以内联,但我不确定非密封类.我不会假设.

在首次调用函数时,JIT在执行代码之前进行优化.因为在JIT开始工作之前,您没有任何代码要执行.:P JIT在第一次调用函数时只发生一次,而不是每次调用函数时都会发生.

另请注意,内联仅在程序集(DLL)中完成.JIT编译器不会从另一个程序集中复制代码以将其内联到此程序集的代码中.