.NET速度问题,请高人出手,******顶贴给分******

m777 2009-09-17 09:14:44
软件在长时间开着不使用(可能5-10分钟),然后过5-10分钟后,开始使用,速度会变慢,但是慢了一会,又会快起来,一直使用下去,速度就很快,不知道为何,明白的指点一条明路,我该怎么查找这个问题?
还有,第一次打开界面速度慢,这个就不说了!但是性能差距在,6-7倍,这太夸张了,第一次运行需要1秒钟,而第二次,200毫秒就搞定了。
...全文
272 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
justin麒麟 2009-09-17
  • 打赏
  • 举报
回复
嘿嘿,不知道~~
mxc1225 2009-09-17
  • 打赏
  • 举报
回复
帮顶了!
木木 2009-09-17
  • 打赏
  • 举报
回复
接分
b3727180 2009-09-17
  • 打赏
  • 举报
回复
第一次编译都是这样的
huangyuelei01 2009-09-17
  • 打赏
  • 举报
回复
问题多多,具体问题具体分析,路过,不说两句对不起楼主是吧。
柳晛 2009-09-17
  • 打赏
  • 举报
回复
这个问题得看是什么软件了,也许逻辑有问题。
zyc6250 2009-09-17
  • 打赏
  • 举报
回复
up
稷小米 2009-09-17
  • 打赏
  • 举报
回复
第一次运行会调用相关数据到内存,方便以后调用如静态方法等

5楼正解
luna1106 2009-09-17
  • 打赏
  • 举报
回复
帮顶
enihs 2009-09-17
  • 打赏
  • 举报
回复
和数据库连接的问题吧
加油馒头 2009-09-17
  • 打赏
  • 举报
回复
换机器
phhui 2009-09-17
  • 打赏
  • 举报
回复
搞不懂,帮不上忙了.帮顶
jdhlowforever 2009-09-17
  • 打赏
  • 举报
回复
连接池,看似好深奥的问题!
Jave.Lin 2009-09-17
  • 打赏
  • 举报
回复
顶者也。
tkx180 2009-09-17
  • 打赏
  • 举报
回复
缓存导致第二次快。
其实软件效率还是慢的。
十八道胡同 2009-09-17
  • 打赏
  • 举报
回复
.net程序执行过程如下:

1 一个方法执行之前,CLR首先检测Main中代码引用的所有类型,CLR会分配一个内部的数据结构,该数据结构用于管理对所引用类型的访问。

2、当该数据结构被初始化时,CLR将把每一个条目设置 为CLR内部的一个没有正式记录的函数,我们暂且称该函数为 JITCompiler。

3、当Main方法第一次调用引用的类型的方法成员时,JITCompiler函数将被调用,该函数负责将一个方法的IL代码编译成本地CPU指令。

1、 JITCompiler将前面第2步的数据结构中的要调用的真实方法的地址替换成包含刚刚编译好的CPU指令的内存块地址。

2、 JITCompiler跳转到该内存块中的代码上,开始执行。



注意:一个类型的所有方法只会编译一次,当这个类型的方法又被调用时,将会使用之前已经编译过的代码,这样只有在首次调用时,才会产生性能损失。

也就是说托管代码跟非托管代码相比,性能上的损失是非常小的,近乎微不足道。

jingshuaizhjason 2009-09-17
  • 打赏
  • 举报
回复
up
十八道胡同 2009-09-17
  • 打赏
  • 举报
回复
缓存?
lzsh0622 2009-09-17
  • 打赏
  • 举报
回复
这种状况,在有动态访问数据库的情况下,更为显示。

连接到数据库服务器是个费时的过程。必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次连接,必须分析连接字符串信息,必须由服务器对连接进行身份验证,等等。

ADO.NET中,使用了连接池的优化方法,来管理维护连接。Open时,连接池就会检查池中是否有可用的连接。如果有,直接返回给调用者,而不是建新。 Close 时,会判断该连接是否在最小连接数之内,如果“是”会将连接回收到活动连接池中,而不是真正关闭。以备下次使用。

这样,第一次使用时比较慢,紧接着再用就很快。

如果,长期不用,超过连接的生命周期(有限时的),或着长期不用被连接池优化清理掉了。这就再用,那就和第一次一样,从头再来一遍,当然就慢了。
haihuan23 2009-09-17
  • 打赏
  • 举报
回复
加载更多回复(29)

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧