zoukankan      html  css  js  c++  java
  • .NET : 使用代码性能分析工具

    上一篇,我演示了如何使用CLR Profiler对.NET应用程序进行性能分析。下面再谈谈在Visual Studio中自带的工具

    示范代码

    using System;
    using System.Text;
    /// <summary>
    /// 这个例子程序用来演示如何进行.NET程序的性能监视和调优
    /// 作者:陈希章
    /// </summary>
    public class ProfilerSample1
    {
        static void Main(string[] args)
        {
            int start = Environment.TickCount;
            for (int i = 0; i < 1000; i++)
            {
                string s = "";
                for (int j = 0; j < 100; j++)
                {
                    s += "Outer index = ";
                    s += i;
                    s += " Inner index = ";
                    s += j;
                    s += " ";
                }
            }
    
            #endregion
    
    
            Console.WriteLine("Program ran for {0} seconds",
                0.001 * (Environment.TickCount - start));
        }
    }

    image

    运行代码分析工具(需要Visual Studio Team suite for developer版本)

    "分析"==〉“启动性能向导”

    image

    image

    image

    image

    现在可以启动性能监视了,很快就能看到下面的一个报表

    image

    通过这个摘要报告,我们可以看出来,该程序中占绝大部分的操作都是string.concat方法,就是字符串连接。一共有500000次。

    从时间上也可以看到它们占用了绝大部分时间

    image

    image

    image

    将程序修改为使用stringbuidler

    image

    image

  • 相关阅读:
    C#跨线程调用:不同的窗体之间调用同一个控件
    C#窗体传值的集中方法,亲测可用,随便选
    图像处理中关于Blob的阈值的一些概念
    科幻小说
    汽车制造MES介绍之3 - AVI车辆识别与调度
    汽车制造MES介绍之4
    汽车制造MES介绍之2
    汽车制造MES介绍之1
    推荐几个学习英语的神器
    通过KEPWARE ODBC DRIVER和ADVANCED TAG 实现数据库和PLC的双向通信
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1623079.html
Copyright © 2011-2022 走看看