我正在做一些后期建立的CIL编织,将CIL添加到程序集中的所有方法(换句话说,吨的方法).每个方法检查特定值是否为空.示例(C#反射器版本的CIL代码):
// CIL woven region start if (MyType.something == null) { // ... some new stuff } // CIL woven region end
将MyType.something作为属性与字段的性能影响是什么?我知道我读过C#编译器执行特殊的优化,在这种情况下应该没有性能影响…但是直接的CIL代码(没有C#编译器)的情况呢?还是JIT编译器允许这些优化(所以直接的CIL代码还是有好处的)?
将会为静态属性的访问者发出OpCode.Call的性能比Ldsfld的性能更差(考虑到这是由成千上万的调用引起的,因为程序集中的每个方法都是编织的)?
谢谢.
解决方法
原文地址:https://www.jb51.cc/csharp/93268.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。