计算机原理

您所在的位置:网站首页 计算机工作的原理 计算机原理

计算机原理

2024-07-15 10:59| 来源: 网络整理| 查看: 265

Dot_Net_Application_Compilation-707676

图2 C#的编译过程

.Net Framework就是在Win32 core上添加了一个抽象层,它提供的一个好处就是支持多语言、JIT优化、自动内存管理和改进安全性;另外一个完整解决方案是WinRT,但这涉及到另外一个主题了,这里不作详细介绍。

MicrosoftBoxologyDiagram

图3 Windows API

JIT编译的优点和缺点

JIT编译带来了许多好处,最大的一个在我看来是性能的优势,它允许CLR(通用语言运行时扮演Assembler组件)只执行需要的代码,例如:假设我们有一个非常大的WPF应用程序,它不是立即加载整个程序,而是CLR开始执行时,我们代码的不同部分将通过一个高效的方法翻译成本地指令,因为它能够检查系统JIT和生成优化的代码,而不是按照一个预定义的模式。不幸的是,有一个缺点就是启动的过程比较慢,这意味着它不适用于加载时间长的包。

JIT的替代方案使用NGen

如果Visual Studio由JIT创建,那么它的启动我们将需要等待几分钟,相反,如果它是使用Ngen(Native Image Generator)编译,它将创建纯二进制可执行文件,如果只考虑速度的问题,那是绝对是正确的选择。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3