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 = 0; i < 100; i++){for (int j = 0; j < 100; 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 = 0; i < 100; i++){for (int j = 0; j < 100; 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());}

View Code

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

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


 

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

转载于:https://www.cnblogs.com/kungge/p/4962339.html

使用vs自带的性能诊断工具相关推荐

  1. hanganalyz 性能诊断工具

    hanganalyze是ORACLE的一款性能诊断工具,这个款工具是从oracle 8.0.6开始可用,在oracle数据库出现严重的性能问题的时候它可以帮助你定位问题所在. 1.首先说说hangan ...

  2. 今晚直播丨用高效的Oracle性能诊断工具,让运维工作轻松起来!

    Oracle诊断性能问题时常用脚本工具 - 4月15日20:00 "工欲善其事,必先利其器",对于 Oracle 数据库性能诊断工作同样如此:在积累了一定数据库性能诊断经验的基础上 ...

  3. Java自带的性能监测工具之jstack

    2019独角兽企业重金招聘Python工程师标准>>> 本文继续介绍Java自带的性能监测工具,本文使用jstack (Java Stack Trace)工具来玩~ 使用jstack ...

  4. java性能检测工具_Java自带的性能监测工具之jmap

    本文继续介绍Java自带的性能监测工具,本文使用jmap工具来玩~ jmap (Java Memory Map) 命令可以生成Java应用程序的堆快照和对象统计信息,对生成的堆快照进行分析,可以分析堆 ...

  5. VisualVM——JDK自带的性能分析工具

    引子 这段时间项目新版本要发了,所以跟着QA分析性能测试和压力测试,用了平时不怎么用的很多工具: jmap jmap -heap pid → 查看堆的使用状况信息  jmap -histo:live ...

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

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

  7. oracle 性能诊断工具,oracle性能诊断工具

    oracle提供的性能诊断的工具:autotrace.sql_trace.10046事件. 简要记录一下这些工具的使用方法: autotrace用于跟踪sql的执行计划,收集统计信息. 默认此功能是关 ...

  8. SAP UI5 应用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具使用方法介绍

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  9. C# 性能诊断工具 dotnet-counters 的使用

    官网地址(以此为准):dotnet-counters 诊断工具 - .NET CLI | Microsoft Docs 该工具主要用于监控当前项目的总体状态计数,如系统运行时.web站点请求状况等. ...

最新文章

  1. Linux命令中的Z原来是这个意思
  2. RabbitMQ系列之【启动过程中遇到问题及解决方案】
  3. .net core mysql CodeFirst
  4. 数据库01-范式总结
  5. Qt 进程 QProcess
  6. mysql数据库怎么安装到自己的电脑上?
  7. boost::safe_numerics模块实现混合类型产生令人惊讶的结果的测试程序
  8. python 爬取作品集_Python批量抓取站酷ZCOOL作品图片并归档
  9. android 闹钟服务,如果闹钟时间已经过去,android可以防止即时触发闹钟服务
  10. CVE-2012-1876调试要点
  11. linux如何安装python环境变量中,Windows和linux环境下python安装及环境变量的配置
  12. 通过手机物理返回键实现弹出层的隐藏
  13. linux怎么启动程序路径,linux查找启动程序的路径
  14. 【Kotlin -- 知识点】学习资料
  15. MySql修改默认端口
  16. autocad锐龙英特尔_4千左右预算,2020年CAD/SU/犀牛/Revit轻薄本推荐/选购指南
  17. linux 用户权限不够,linux .权限不够怎么办
  18. 小程序获取微信登陆用户
  19. 无人机学习笔记 8 雷达工作波段划分
  20. POJ 3322 Bloxorz I

热门文章

  1. java 服务器读取客户端文件,java 服务器读取客户端文件
  2. 无法访问netflix服务_Choerodon 的微服务之路(三):服务注册与发现
  3. 文档词频矩阵_论文理解:从词嵌入到文档距离
  4. 腾讯云搭svn服务器,腾讯云使用笔记二: 安装svn服务器及web同步
  5. pythondocumentation是什么_怎样阅读Python官方文档
  6. java tick_Java中的Clock tick()方法
  7. yield方法释放锁吗_死磕Synchronized底层实现重量级锁
  8. 160 - 41 defiler.1.exe
  9. python 抓取网页链接_从Python中的网页抓取链接
  10. python set |_Python事件类| set()方法与示例