C# 4.0 Beta2改进之全新的dynamic
2010-09-30 21:05:35 来源:WEB开发网核心提示: 通过测试,最后得到的结果如下(测试结果进代表本人机器测试结果,其他机器可能会有不同,但是相信相对的的速度对比值应该一致):通过测试可以得到以下的大致结果:直接调用最快使用emit调用其次,大概是直接调用的10倍左右Expression调用再次,然后是dynamic调用,不过很明显,dynamic
通过测试,最后得到的结果如下(测试结果进代表本人机器测试结果,其他机器可能会有不同,但是相信相对的的速度对比值应该一致):
通过测试可以得到以下的大致结果:
直接调用最快
使用emit调用其次,大概是直接调用的10倍左右
Expression调用再次,然后是dynamic调用,不过很明显,dynamic的第一次调用速度比较慢,去掉第一次的执行之后,dynamic已经和expression调用的时间相差不大,当然最慢的是传统反射调用,远远低于其他的调用方式.
在此可以看出,dynamic的实现相比b1中得到了极大的改善,已经能满足绝大多数使用情况.
我们可以通过Reflector来查看目前dynamic的实现方式:
图片看不清楚?请点击这里查看原图(大图)。
很明显,dynamic不再是传统的反射调用,个人猜测也是采用通过某种方式编译成委托的方式进行调用,所以能使得性能得到了极大的提高.
- ››改进 WebSphere ESB V6.1 中记录的消息的显示
- ››全新动画闪字出炉 美图秀秀新版推荐
- ››全新高清场景 可牛影像2.4正式版
- ››全新引擎速度飙升 IE9技术预览版抢先体验
- ››全新页面,焕然一新—歪歪(YY)2.0正式版体验
- ››全新界面更强功能 抢先试用风行2.0
- ››改进Win 7在netbook上的启动和关机时间
- ››全新架构亮相 向6版靠近 迅雷5.9全面试用
- ››全新 飞信3.0 Java手机端发布
- ››全新的Outlook2007客户管理系统
- ››改进的ASP备份SQLServer数据库
- ››改进BitLocker,浅谈 Vista SP1 中的磁盘加密技术...
更多精彩
赞助商链接