【发布时间】:2013-05-13 20:27:45
【问题描述】:
直接创建一个发出 IL 的方法与创建一个表达式树相比有性能差异吗?
【问题讨论】:
-
既然我确定你已经尝试过了,请分享你的结果。
-
我们真的很想知道,表达式树的编译方式是否存在一些根本差异。例如,通过反射执行方法与从表达式树或通过动态绑定调用时方法的执行方式存在根本区别。所以我想知道“编译”表达式树产生的结果是否在某种程度上与手动生成的 IL 产生的结果有很大不同。
-
两种方法都试一下,拿出一个秒表,你很快就会知道哪个更快。只有这样才能知道。
-
所以听起来实际上,IL 与表达式树之间没有根本区别。我认为可能存在一些潜在的差异,就像您在通过反射调用方法与通过动态绑定调用或其他类似方法时看到的那样。但听起来情况并非如此。
标签: c# reflection expression-trees reflection.emit