Minco
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
posts - 45, comments - 65, trackbacks - 1
<
2007年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(6)
给我留言
查看留言
我参与的团队
北京.NET俱乐部(1/1467)
广州.NET俱乐部(0/1718)
我的标签
默认按钮
(2)
搜索
(2)
转移焦点
(2)
杀毒
(1)
unlocker
(1)
linq
(1)
linq to sql
(1)
性能
(1)
PM
(1)
项目管理
(1)
更多
随笔分类
个人心情(3)
软件架构(1)
小小心得(40)
随笔档案
2008年7月 (1)
2008年5月 (1)
2008年4月 (5)
2008年1月 (3)
2007年12月 (1)
2007年11月 (1)
2007年9月 (1)
2007年8月 (4)
2007年6月 (2)
2007年5月 (1)
2007年4月 (2)
2007年3月 (3)
2007年1月 (1)
2006年12月 (1)
2006年10月 (1)
2006年9月 (2)
2006年8月 (1)
2006年6月 (1)
2006年5月 (1)
2006年4月 (1)
2006年3月 (4)
2006年2月 (3)
2005年11月 (1)
2005年9月 (1)
好文珍藏
最新评论
1. re: c#对象:先有鸡还是先有蛋?
@zhh007's Bolg
帅
--EicrSoft
2. re: Linq to sql 简单性能差异指引
误导群众!! 测试非常不科学,没有除去第一次连接数据库时间 1.禁用ObjectTrackingEnabled 我简单测试了下 大概是 7%左右!!...
--Density
3. re: 在form上设定了defaultbutton属性之后,切换提交按钮的解决办法
在window2003,ie7,vs2008,测试不通过,在TextBox按回车还是触发Button1的后台事件。
--突破自己
4. re: 使用c#批创建exchange用户
按照你的方法我找到homeMDB=*,这个是怎么会事啊
--1111
阅读排行榜
1. 软件架构师分类及能力归纳(2938)
2. 使用dottrace2.0进行性能分析简介(2663)
3. 基于MYOB Premier数据库互操作简介(1909)
4. asp.net上传大文件碰到问题 SlickUpload来解决 当前版本为2.5.2 应该是开源的(1495)
5. WatiN中给FreeTextBox控件赋值(1416)
评论排行榜
1. 软件架构师分类及能力归纳(16)
2. c#对象:先有鸡还是先有蛋?(7)
3. asp.net上传大文件碰到问题 SlickUpload来解决 当前版本为2.5.2 应该是开源的(7)
4. 基于MYOB Premier数据库互操作简介(6)
5. 使用dottrace2.0进行性能分析简介(5)
使用dottrace2.0进行性能分析简介
JetBrains dotTrace 2.0是一款优秀的代码分析(Profile)程序,可分析基于.NET framework1.1以及2.0的Windows程序、Windows服务、运行在IIS上的ASP.NET程序...
这里主要介绍的是性能分析(
P
erformance profiling)。
JetBrains dotTrace可使用图形化的界面截取程序运行时的线程调用映像。由于程序运行的时候,我们很难把握它运行到哪儿了,所以JetBrains dotTrace也提供一个API来帮我们编写代码来截取该映像。
首先,建立一个Console项目ConsoleApplication3,Program类代码如下:
using
System;
using
System.Collections.Generic;
using
System.Text;
using
System.Threading;
using
JetBrains.dotTrace.Api;
namespace
ConsoleApplication3
{
class
Program
{
static
void
Main(
string
[ ] args )
{
CPUProfiler.Start( );
OutputName(
"
Minco
"
);
CPUProfiler.StopAndSaveSnapShot( );
}
private
static
void
OutputName(
string
name )
{
if
(
!
string
.IsNullOrEmpty( name))
{
Console.WriteLine(
"
Hello:
"
+
name);
Thread.Sleep(
100
);
}
}
}
}
编译项目。打开dotTrace,选择“Profile Application...”,在弹出的对话框里填入演示项目生成的ConsoleApplication3.exe的路径(由于我用的是中文版,没有在工具栏上“运行”旁边看见dotTrace的按钮,要不就不用这么麻烦了),按“Start Application”按钮,一会dotTrace就会出现如下图显示的截图:
上图很清楚的看到GetName方法占用了99.21%的时间(不同时间不同机器有所出入),而其中Console.WriteLine()占用了50.09%的时间,Thread.Sleep()占用了48.32%的时间。通过分析复杂点的程序,我们可以找出到底是哪些代码导致了性能问题。
Winform的程序也采用一样的方法。Asp.net的程序跟这类似,选择的是URL。Windows Service的程序倒是没测试过,只不过是将Windows Service的程序的进程附加上去
呵呵,就这样。得看看CLRProfiler怎么玩了。有问题一起讨论
posted on 2007-04-25 20:56
分享 共赢
阅读(2663)
评论(5)
编辑
收藏
所属分类:
小小心得
Feedback
#1楼
2007-04-25 21:23 |
俺在找工作。。。 [未注册用户]
谢谢
有没有写代码来监控内存占用量的呀
回复
引用
#2楼
2007-04-25 23:02 |
大石头
我测试webform好像失败了。
还有,测试内存从来未成功过
回复
引用
查看
#3楼
[
楼主
]
2007-04-26 08:41 |
分享 共赢
俺在找工作。。。
没有API可用 不好操作 CLRProfiler可能会好一些
大石头
我测试可以的
要保证代码执行到
回复
引用
查看
#4楼
2007-04-26 15:03 |
guest [未注册用户]
哪里有下载呀
回复
引用
#5楼
[
楼主
]
2007-04-26 18:34 |
分享 共赢
www.JetBrains.com
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-04-25 21:15 编辑过
相关文章:
使用Visual Studio2005入门.Net2.0系列视频教程
Microsoft .NET Pet Shop 4 架构与技术分析
prototype.js 1.4版开发者手册(强烈推荐)
.NET设计模式系列文章
Oracle 分析函数的使用
消息队列(Message Queue)简介及其使用
相关链接:
所属分类的其他文章:
扣出MSLinqToSQLGenerator的基类,可用于开发自定义工具(custom tool)
[转]我在微软做PM ...
Linq to sql 简单性能差异指引
April Rosario(vs2010?) CTP now available!
手工杀毒利器
在form上设定了defaultbutton属性之后,切换提交按钮的解决办法
在form上设定了defaultbutton属性之后,切换提交按钮的解决办法
使用System.Net.Mail发送邮件,vs2005与vs2008存在差别?
扩展下jscalendar,添加ShowCalendar方法
安装vs2008之后系统好像变慢了?
最新IT新闻:
美国年轻人最喜欢的15大网站
2008年8月30日IT博客精选
《极品飞车12》最新真人照片、游戏截图
IBM正在开发超强性能4TB固态硬盘阵列
Microsoft F# CTP(2008年9月)
博客园新闻频道
博客园首页
社区