WEB开发网
开发学院软件开发C语言 C# 4.0 Beta2改进之全新的dynamic 阅读

C# 4.0 Beta2改进之全新的dynamic

 2010-09-30 21:05:35 来源:WEB开发网   
核心提示: 通过测试,最后得到的结果如下(测试结果进代表本人机器测试结果,其他机器可能会有不同,但是相信相对的的速度对比值应该一致):通过测试可以得到以下的大致结果:直接调用最快使用emit调用其次,大概是直接调用的10倍左右Expression调用再次,然后是dynamic调用,不过很明显,dynamic

通过测试,最后得到的结果如下(测试结果进代表本人机器测试结果,其他机器可能会有不同,但是相信相对的的速度对比值应该一致):

C# 4.0 Beta2改进之全新的dynamic

通过测试可以得到以下的大致结果:

直接调用最快

使用emit调用其次,大概是直接调用的10倍左右

Expression调用再次,然后是dynamic调用,不过很明显,dynamic的第一次调用速度比较慢,去掉第一次的执行之后,dynamic已经和expression调用的时间相差不大,当然最慢的是传统反射调用,远远低于其他的调用方式.

在此可以看出,dynamic的实现相比b1中得到了极大的改善,已经能满足绝大多数使用情况.

我们可以通过Reflector来查看目前dynamic的实现方式:

C# 4.0 Beta2改进之全新的dynamic

图片看不清楚?请点击这里查看原图(大图)。

很明显,dynamic不再是传统的反射调用,个人猜测也是采用通过某种方式编译成委托的方式进行调用,所以能使得性能得到了极大的提高.

上一页  1 2 

Tags:Beta 改进 全新

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接