visual studio是个强大的集成开发环境,内置了程序性能诊断工具。下面通过两段代码进行介绍。

static void Main( string[] args)
{
Test1();
Test2();
Console.ReadKey();
}
protected static void Test1()
{
Stopwatch sp = new Stopwatch();
sp.Start();
string str = "" ;
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
str += "string append1= " ;
str += i.ToString() + " ";
str += "string append2= " ;
str += j.ToString() + " ";
}
}
sp.Stop();
Console.WriteLine("Test1 Time={0}" , sp.Elapsed.ToString());
}
protected static void Test2()
{
Stopwatch sp = new Stopwatch();
sp.Start();
StringBuilder str = new StringBuilder();
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
str.Append( "string append1= " );
str.Append(i.ToString());
str.Append( "string append2=" );
str.Append(j.ToString());
}
}
sp.Stop();
Console.WriteLine("Test2 Time={0}" , sp.Elapsed.ToString());
}

先运行一下查看运行结果如下:

两个函数实现的功能都一样,实现方式不一样,效率却完全不一样,下面通过vs自带的性能分析工具进行分析,可以分析出程序对cpu使用率和内存使用情况等,
本次以cpu测试为例。
注:本次测试用的是vs2013,在vs2010里为启动性能向导。


 

从以上分析结果可以得出对函数内部具体代码的的cpu使用情况,由此在实际开发中,可以针对某个代码单独拿出进行分析,以找出消耗cpu的地方,
加以改进从而提高程序的效率。
性能诊断工具还有不少,如微软的CLR Profiler,还有WinDbg等,后续的博客会对这两个工具作介绍。

使用vs自带的性能诊断工具的更多相关文章

  1. VS2010自带的性能分析工具分析.NET程序的性能

    这篇博文给大家分享的是,如何使用VS自带的性能分析工具来分析我们编写的.NET程序,一边找出程序性能的瓶颈,改善代码的质量.在实际开发中,性能真的很重要,往往决定一个产品的生死~良好的用户体验的基础之 ...

  2. .NET Core CLI 的性能诊断工具介绍

    前言 开发人员的.NET Core项目上线后,经常会出现各种问题,内存泄漏,CPU 100%,处理时间长等, 这个时候就需要快速并准确的发现问题,并解决问题, 除了项目本身的日志记录外,NET Cor ...

  3. .NET Core-全局性能诊断工具

    前言: 现在.NET Core 上线后,不可避免的会出现各种问题,如内存泄漏.CPU占用高.接口处理耗时较长等问题.这个时候就需要快速准确的定位问题,并解决. 这时候就可以使用.NET Core 为开 ...

  4. Java自带的性能监测工具用法简介——jstack、jconsole、jinfo、jmap、jdb、jsta、jvisualvm

    JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status To ...

  5. MongoDB性能诊断工具

    1. mongostat * dirty 超过20%时阻塞新请求 * used 超过95%时阻塞新请求 * qrw 排队的请求 * conn 连接数量 mongostat:用于了解MongoDB运行状 ...

  6. Mysql自带profiling性能分析工具使用分享

    1. show variables like '%profiling%';(查看profiling信息)       2. set profiling=1;(开启profiling)   3. 执行S ...

  7. Linux性能诊断工具

    vmstat:虚拟内存状况 –swpd   free  buff  cache   si  so   in   cs 參考:http://www.cnblogs.com/ggjucheng/archi ...

  8. <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

  9. <JVM下篇:性能监控与调优篇>01-概述篇-02-JVM监控及诊断工具-命令行篇

    笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...

随机推荐

  1. ios app打ipa包

    在app上传到appstore之前,我们通常要经过打包测试的步骤,导出到testFlight中.或者其他第三方的平台里面进行测试,这时候就需要打包成ipa包导出.好了,废话不多说,上图.步骤如下: 1 ...

  2. log4net配置与初始化

    1.配置文件: <?xml version="1.0" encoding="utf-8" ?> <configuration>   &l ...

  3. (转)SqlBulkCopy批量复制数据

    在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便.而 在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们 ...

  4. springMVC框架中,在hib-config.xml配置sqlserver2008数据库连接的代码

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">     ...

  5. unity3d使用脚本保存屏幕截图

    using UnityEngine; using System.Collections; using System.IO; public class FrameAnimation : MonoBeha ...

  6. c#开发Mongo笔记第六篇

    之前写的五篇比较得到了大家的积极反馈,也有个别高手对我写我写出的代码进行了指教. 其中提到的我写的查询方法性能有问题,我想了想,如果mongo不是延时加载的话,那我的查询就真的有问题了,就成了查询出来 ...

  7. Intellij idea 设置svn 父目录文件显示状态颜色

    file-->setting-->version control

  8. php openssl 增加密钥

      生成私钥:openssl genrsa 1024 > private.key (注意,1024是密钥的长度,如果密钥较长,相应加密后的密文也会较长) 生成公钥:openssl rsa -in ...

  9. SWAP空间不足,如何进行添加

    交换分区值过小,可以有两种方法来增加swap分区,一种是将新的分区来作为swap,另一种是在磁盘中创建一个大的文件来作swap. 我们以文件扩展swap [root@xuegod63 ~]# cd / ...

  10. Mine Number(搜索,暴力) ACM省赛第三届 G

    Mine Number Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Every one once played the gam ...