网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
.Net,你为什么会慢
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
Framework从来不是为性能设计的
#54楼  2008-04-17 17:04 BlueMountain

不过,因为即时编译的结果是保存在内存中的,因此对于那些会频繁启动的程序来讲,其启动过程是会比较慢的——因为每次启动都需要加载CLR并做一次即时编译。
----------------------------------------------------------------
lz确定是在内存中么,c:\windows\Assembly\GAC_32
c:\windows\Assembly\NativeImages_v2.0.5XXXX
那些文件夹里面存的是什么啊??
  回复  引用  查看  删除  修改
----------------------------------------------------------------
@BlueMountain
文件夹存的是程序集阿 GAC中是共享程序集 Assembly中的本地程序集的一个拷贝 LZ说的是对的 即时编译结果是在内存中 JIT的事情
  回复  引用  查看   

 下面这个图,我想知道gac里面的是assembly,那么gac_32呢 gac_msil呢 nativeimages_XX呢 感觉它们好像是存的镜像阿 jit编译的结果仅能存在内存里面么?这样子也未免太笨了吧 ngen生成的又是存在什么地方的呢


#55楼  2008-04-17 17:17 Mainz
看和谁比较了,和汇编,C,C++比,当然慢了;和java比就不一定了。

我觉得最好是核心算法用C或C++保证效率,其他的用C#,扬长避短,效果最好


#56楼  2008-04-17 17:23 222 [未注册用户] .net也只配和java比比了
#57楼  2008-04-17 17:33 Da Vinci @BlueMountain
GAC_32是JIT编译的针对32bit机器的程序集 如果是64位的话在syswow路径下面也能找到.因为GAC_32是.NET2.0引入的, 它与GAC的区别是GAC下的是.NET1.1的程序集, GAC_32只是.NET2.0的程序集,没有.NET1.1的.
GAC.MSIL里面是一些轻量级的程序集
这些都是32位机器才有,64位就一个GAC_64
ngen.exe和这些没关系,看你编译的参数,如果你是私有程序集,就是你自己指定的路径阿

#58楼  2008-04-17 18:05 研究者 [未注册用户] 你应该多看看相关的资料再来说这个事情!!!!!!
#59楼  2008-04-17 18:06 研究者 [未注册用户] 不知道它的工作机制就不要在此发表言论,OK?
#60楼  2008-04-17 18:09 BlueMountain @Da Vinci
就是说jit编译的结果的确是仅仅在内存中的,多谢!
#61楼  2008-04-17 19:38 GoGoSonny VC6第一次启动快,但VS2005 2008下一次启动快!
比C++,有劣势,但也有优势。
对于JAVA,.NET没的说。
对于脚本,复杂的.NET有优势。
#62楼  2008-04-17 21:36 techmango [未注册用户] 有这么复杂吗?!看了头晕啊
#63楼 [楼主] 2008-04-17 22:20 没有昵称 @研究者
er,,,我确实是仔细的看了两天资料确认了之后才写出来的啊。
不过如果帅哥觉得我说的不对,你可以告诉我错在哪里么?我也好继续学习。
#64楼 [楼主] 2008-04-17 22:51 没有昵称 呵呵,,,好像很多朋友在这里研究起来谁快谁慢的问题了,呵呵,离题了离题了。

不过,既然这个问题这么敏感,那我就顺便贴两个地址,各位可以看一下这位仁兄在遇到问题的时候是怎样处理的。
先看这个:http://www.cnblogs.com/wuchang/archive/2006/12/07/584997.html
再看这个:http://eparg.spaces.live.com/blog/cns!59bfc22c0e7e1a76!2274.entry

这位仁兄的做法很值得我们思考。他在发现问题的时候第一反应是去分析问题找原因,并最终拨开迷云找到了事情的真相。相信也正是这样的探索精神让这位仁兄成为一个大牛的。
#66楼  2008-04-18 10:01 Anytao 补充:MSCorEE.dll中的代码来启动CLR并做一些初始工作,这些初始化主要包括:

1 创建内存;
2 创建线程池;
3 创建应用程序域名。

关于性能,.NET其实已经有很多优化策略,其自动内存管理上有诸多的优化机制,相

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号