zoukankan      html  css  js  c++  java
  • .NET C# Stopwatch用法 TC

    一般我们想要测试使用那种方法或着那种类型效率更高,使用Stopwatch类进行测试就可以,我也是现在才知道,汗一个。

    先来看个小示例,如下。

    前提,先引用using System.Diagnostics;命名空间。 

     1         //实例化一个sw
     2             Stopwatch sw = new Stopwatch();
     3             //开始计数
     4             sw.Start();
     5 
     6             //实例化一个sb
     7             StringBuilder sb = new StringBuilder();
     8 
     9             //循环
    10             for (int i = 0; i < 10000; i++)
    11             {
    12                 //追加
    13                 sb.Append(i);
    14             }
    15             //输出所用时间 毫秒
    16             Console.WriteLine(sw.ElapsedMilliseconds);
    17 
    18             //重置为0
    19             sw.Reset();
    20             //开始计数
    21             sw.Start();
    22             //字义一个 s字符串
    23             string s = "";
    24 
    25             //循环
    26             for (int i = 0; i < 10000; i++)
    27             {
    28                 s = s + i;
    29 
    30             }
    31             //输出所用时间 毫秒
    32             Console.WriteLine(sw.ElapsedMilliseconds);
    33 
    34             //重置为0
    35             sw.Reset();
    36             //开始计数
    37             sw.Start();
    38             //字义一个 b字符串
    39             string b = "";
    40             //循环
    41             for (int i = 0; i < 10000; i++)
    42             {
    43                 b += i;
    44 
    45             }
    46             //输出所用时间 毫秒
    47             Console.WriteLine(sw.ElapsedMilliseconds);
    48             Console.ReadLine();

     下面在介绍几个属性。

    • Elapsed:返回一个TimeSpan对象,表示计时时间间隔;
    • ElapsedMilliseconds:返回计时经过的微秒数,精确度稍差,适合于稍长一点的计时;
    • ElapsedTicks: 返回计时经过的计时器刻度(timer tick)数。计时器刻度是Stopwatch对象可能的最小量度单位。计时器刻度时间的长度由特定的计算机和操作系统确定。Stopwatch对象的 Frequency静态字段的值表示一秒所包含的计时器刻度数。注意它与TimeSpan的Ticks属性所用的时间单位的区别。

    应当根据计时任务的情况选择其中的一个属性。在我们的示例程序中,Elapsed属性提供了需要的精确度,用它来输出经过的微秒数。这也是TimeSpan的最高精确度了。 

    使用IsRunning属性可以查看一个Stopwatch实例是否正在计时,使用StartNew方法可以开始一个新的计时器。 

    作者:Mr S.R Lee
    出处:http://www.cnblogs.com/LeeYongze
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

  • 相关阅读:
    状态模式
    maven-war-plugin 插件 web.xml 缺失时忽略
    Java远程方法协议(JRMP)
    Java Singleton的3种实现方式
    浅谈分布式消息技术 Kafka
    浅谈分布式事务
    J2EE开发时的包命名规则,养成良好的开发习惯
    使用Dom4j创建xml文档
    Java HttpClient Basic Credential 认证
    Spring MVC的Post请求参数中文乱码的原因&处理
  • 原文地址:https://www.cnblogs.com/LeeYongze/p/1717405.html
Copyright © 2011-2022 走看看