2013年2月24日
摘要: 问题回顾在上篇博客中,我介绍了优化反射的第一个步骤:用委托调用代替直接反射调用。然而,那只是反射优化过程的开始,因为新的问题出现了:如何保存大量的委托?如果我们将委托保存在字典集合中,会发现这种设计会浪费较多的执行时间,因为这种设计会引发三个新问题:1. 代码的执行路径变长了。2. 字典查找是有成本开销的。3. 字典集合的并发读写需要锁定,会影响并发性。再来回顾一下上次的测试结果吧:虽然通用接口ISetValue将反射性能优化了37倍,但是最终的FastSetValue将这个数字减少到还不到7倍(在CLR4中还不到5倍)。难道您不觉得遗憾吗?再看看直接调用与反射调用的对比,它们的速度相差了上千 阅读全文
posted @ 2013-02-24 21:03 Fish Li 阅读(18492) 评论(50) 推荐(64) 编辑