框架性能优化----针对反射效率

反射效率低下的原因:

根本原因就是把很多在编译器能做的工作都推到了运行时来动态执行,jit无法参与工作,没办法运用jvm的一些优化措施

1.编译器没法对反射相关的代码做优化

2.慢的原因还有安全检查,访问控制等。比如说这个方法你能不能获得,能不能执行等,你传进的参数的类型检查等。比如说在使用反射调用方法的时候,传进的参数需要检查是否符合方法参数类型要求吧?

a)搜索:使用System.Reflection命名空间中的类型扫描程序集的元数据时,反射要不断的执行字符串的搜索。通常,搜索时不区分大小写的比较,这会更进一步影响性能。

b)调用:使用反射调用一个成员时。比如调用方法,首先必须将实参打包(pack)成一个数组;在内部,反射必须将这些实参解包(unpack)到线程栈上。此外,在调用方法前,CLR必须检查实参具有正确的数据类型。最后,CLR必须确保调用者有正确的安全权限来访问被调用的成员。



思想:缓存+反射+委托

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容