托管代码比非托管代码慢

Is managed code slower than unmanaged code?

本文关键字:非托管代码 托管代码      更新时间:2023-10-16

这只是我好奇的一个问题。尽管总体上考虑了框架和执行中涉及的步骤,但我还是同意。尽管如此,我还是想考虑内存/光盘访问和网络等因素,这些因素限制了非托管代码的性能。

引用Herb Sutter

"首先,JIT编译不是主要问题。根本原因更为根本:托管语言进行了深思熟虑的设计权衡,以优化程序员的生产力,即使这从根本上与性能效率存在紧张关系,并以牺牲性能效率为代价。"

"预防"answers"治愈"之间总是有一个不可避免的根本区别——在性能优化方面,C++总是选择"预防",而托管语言则选择"治愈",并付出了上述英勇的努力等等。但"盎司/磅"这句老话是不可避免的;你无法战胜预防(部分原因是你总是可以在第一次做预防后添加治疗方法,但不能反过来),如果你主要关心性能和控制,那么你应该使用一种旨在优先考虑这一点的语言,仅此而已。

你可以参考这篇文章来获得更清晰的

http://www.i-programmer.info/professional-programmer/i-programmer/4026-the-war-at-microsoft-managed-v-unmanaged.html