博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
六、CLR下的托管代码应用程序与非托管代码程序之间的性能对比
阅读量:6076 次
发布时间:2019-06-20

本文共 545 字,大约阅读时间需要 1 分钟。

1、托管程序二次编译的问题,以及微软做的优化

中介绍了CLR下托管应用程序的二次编译对性能产生的影响.事实上,在IL编译成本机代码的时候的时候 确实会影响性能,也确实会分配动态内存.

但是,在微软做了大量的性能优化工作之后,将这些额外的开销保持在最低的限度之内.

 

2、托管程序的实际性能

事实上,托管程序的性能实际上要比非托管应用程序要好,举个例子,当JIT编译器在运行时将IL代码编译器编译成本机代码的时候,编译器对执行环境的认识比非托管编译器更深刻。

 

如果JIT编译器没有使托管应用程序达到应有的效果,如果需要进一步确认,有两种方法:

(1)、.Net Framework SDK提供的NGen.exe工具

该工具将程序集的所有的IL代码编译成本机代码,并将这些本机代码保存到一个磁盘文件中,在运行时加载程序集时,CLR自动判断是否存在该程序集的预编译版本。如果是,CLR就加载预编译版本.

注:NGen.exe对最终执行环境的预设是很保守的,所以,NGen.exe生成的代码不会像JIT编译器生成的代码那样进行高度优化。

(2)、使用ProfileOptimization类

 

转载于:https://www.cnblogs.com/GreenLeaves/p/8400591.html

你可能感兴趣的文章
伍雨霏-懂游戏的云服务如何保驾护航
查看>>
移动互联网商业发展前景广阔-CNNIC 高级分析师 喻重光
查看>>
【百度地图-安卓SDK】从头开始写android程序
查看>>
rxbus
查看>>
MonkeyRunner Command Summary
查看>>
ios nonatomic + strong + ARC
查看>>
DXperience汉化资源分享
查看>>
MySQL的btree索引和hash索引的区别
查看>>
开源 免费 java CMS - FreeCMS1.2-标签 mailPage
查看>>
sql server 通过sql server 协议进行登录的解析
查看>>
按下返回键,不直接退出而是弹出对话框
查看>>
拦截器__call,_callstatic
查看>>
自学编程的技术大牛是如何进谷歌的
查看>>
IE6 和 IE8下翻页功能的失效差异问题
查看>>
NoSQL&MongoDB
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
HashTable 与HashMap的区别
查看>>
TiDB 在摩拜单车在线数据业务的应用和实践
查看>>
我的友情链接
查看>>
多使用工具方法
查看>>