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. 【转载】cookie
  2. hdu 携程全球数据中心建设 (球面距离 + 最小生成树)
  3. FFmpeg流媒体处理-收流与推流
  4. CSDN的Markdown编辑器的使用
  5. BUAA_OO第三单元作业总结——JML
  6. 数据库的binlog、redolog以及undolog
  7. 如何在大学和工作后让自己逐渐变强?
  8. python算法与数据结构-冒泡排序算法(32)
  9. SpringBoot 处理内置对象
  10. php 赋值给 dom对象,详解PHP原生DOM对象操作XML的方法
  11. Ubuntu ufw 取消 网关到 224.0.0.1 multicast 日志
  12. 转:mysql show processlist命令 详解
  13. 大快DKM大数据基础管理平台的监控功能剖析
  14. Salesforce 主要发展历史
  15. 2021年中国石油市场回顾及2022年行业发展趋势分析预测:2021年石油需求震荡修复,石油对外依存度首次下降,预计2022年石油需求7.35亿吨[图]
  16. CSU 1256 天朝的单行道 最短路问题
  17. 机器人厨房、透视冰箱、可穿戴空气净化器…CES 2021还有哪些新奇特?
  18. 计算机提示存储空间不足怎么办,电脑提示存储空间不足,无法处理此命令是什么原因?怎么解决?...
  19. dos攻击的工具——pentmenu
  20. mysql 中间件 atlas_MySQL中间件-Atlas

热门文章

  1. new失败跟踪函数_WinDbg预览时间线:调试器中的时间线可以允许用户记录跟踪
  2. java面向对象的三大特征是6_Java面向对象的三大特征
  3. qbytearry有数据上限吗_金仕达大数据开发岗位面试题
  4. 8086地址传送指令LEA,LDS,LES
  5. You have unstaged changes.
  6. java web核心知识_JAVA web 相关知识点
  7. md5模式 签名_MD的完整形式是什么?
  8. css模糊_如何使用CSS模糊图像?
  9. java 负载均衡_java负载均衡 - 岁月静好I的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. 使用ffmpeg的filter处理yuv数据包括split filter(分流)、crop filter(裁剪)、vflip filter(垂直向上的翻转)、overlay filter(合成)