我正在开发一个发出IL代码的编译器.重要的是,由Mono和Microsoft .NET JIT编译器对生成的IL进行JIT,以获得最快的机器代码.
我的问题是:
优化模式是否有意义:
'stloc.0; ldloc.0; ret' => 'ret'
'ldc.i4.0; conv.r8' => 'ldc.r8.0'
Run Code Online (Sandbox Code Playgroud)
等等,或JIT是否足够聪明,可以照顾这些?
是否有Microsoft/Mono JIT编译器执行的优化列表的规范?
是否有任何良好的读物与实际建议/最佳实践来优化IL,以便JIT编译器可以反过来生成最佳的机器代码(性能方面)?
MyStruct s; s.x = 1; s.x = 1;RyuJIT没有优化.s = s;也不是.s.x + s.x从内存加载x两次.期待很少.| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |