zoukankan      html  css  js  c++  java
  • 【.NET程序性能分析】使用VS自带的工具分析.NET程序的性能

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

    下面以一个大家熟悉比较极端的例子,来说明编写代码时考虑性能的重要性。这里DebugLZQ用的是10.0版本的VS。

    示例程序代码如下:

    复制代码
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace VS2010性能测试
    {
        class Program
        {
            static void Main(string[] args)
            {
                int start = Environment.TickCount;
                for (int i = 0; i < 1000; i++)
                {
                    string s = "";
                    for (int j = 0; j <200; j++)
                    {
                        s += "Outer index = ";
                        s += i;
                        s += " Inner index = ";
                        s += j;
                        s += " ";
                    }
                }
                int middle = Environment.TickCount;
                Console.WriteLine("Program part1 run for {0} seconds",0.001 * (middle  - start));
                //
                for (int i = 0; i < 1000; i++)
                {
                    StringBuilder s = new StringBuilder(); 
                    for (int j = 0; j <200; j++)
                    {
                        s.Append("Outer index = ");
                        s.Append(i);
                        s.Append("Inner index = ");
                        s.Append(j);
                        s.Append(" ");
                    }
                }
                int end = Environment.TickCount;
                Console.WriteLine("Program part2 run for {0} seconds", 0.001 * (end - middle));
    
                //
                Console.ReadKey();
            }
        }
    }
    复制代码

    差距就是这么大!

    我们可以使用VS自带的性能分析工具来分析这个程序。可以通过“分析”--“启动性能向导”来启动性能分析

    我们可以根据需要选择不同的分析方法

    面以“CPU采样”分析为例

    切换到函数视图

    定位到我们的源码:

    问题找到了~

    【希望对你有帮助~请点击下面的“绿色通道”---“关注DebugLZQ”,共同交流进步~】 

     
  • 相关阅读:
    python-Lists
    python报错ValueError: invalid x escape
    ssm框架自动生成实体类、Dao、*Map.xml
    echarts3地图实现点击某省市区域跳转到相应页面
    echart3绘制地图
    sts maven项目单元测试报错initializationerror not found
    jQuery datatable后台分页实现
    解决bootstrapValidator校验冲突
    JAVA基础复习.DAY1
    【日记】1.18
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2585515.html
Copyright © 2011-2022 走看看