【发布时间】:2013-02-04 19:15:35
【问题描述】:
我在本书作者中读了一本书(CLR via c#)谈到了 IL 和托管模块,托管模块在本机 cpu 代码中编译,然后在书中执行,作者说托管模块比非托管模块快。我的问题是为什么托管模块比非托管模块快,但是在托管模块中首先编译为IL,然后在本机cpu中编译。
【问题讨论】:
-
我读过那本书,你能指点我说的地方吗?
-
总有一定的条件可以适用,但实际上写得好的非托管代码总是会超过托管代码的执行速度!
-
@AppDeveloper meh;这取决于上下文 - 在很多情况下它们会非常相似 - 这实际上取决于延迟的位置。
-
作者还继续并举例说明了这种情况。进一步阅读,您将得到问题的答案。他并不是说托管代码通常比本地代码更快。
-
@MarcGravell - 我同意,但恕我直言,是否存在写得好、非托管代码执行得比托管代码慢的情况?
标签: c# performance compiler-construction il