博客
关于我
.net 中进行消耗时间计时
阅读量:800 次
发布时间:2023-04-04

本文共 1556 字,大约阅读时间需要 5 分钟。

在项目开发过程中,需要对某些方法的执行时间进行记录和分析。这通常可以通过两种方式实现:Stopwatch类和DateTime.Now.Ticks。

StopWatch方案

Stopwatch类位于System.Diagnostics命名空间,具有高精度的时间测量功能。Stopwatch对象可以执行以下操作:Start开始计时,Stop停止计时,Reset重置计时器。此外,StartNew方法可以启动一个新的计时器。

以下是一个简单的示例,用于累加1到10,000,000之间的所有整数:

using System;using System.Diagnostics;namespace StopWatchClass{    class Program    {        static void Main(string[] args)        {            Stopwatch timer = new Stopwatch();            long total = 0;            timer.Start();            for (int i = 1; i <= 10000000; i++)            {                total += i;            }            timer.Stop();            decimal micro = timer.Elapsed.Ticks / 10m;            Console.WriteLine("执行时间为 {0:F1} 微秒", micro);        }    }}

DateTime.Now.Ticks方案

另一种方法是使用DateTime.Now.Ticks获取当前时间的微秒数。具体操作如下:

  • 在开始方法执行前,记录当前时间的微秒数。
  • 方法执行完成后,再次记录当前时间的微秒数。
  • 计算两次时间点的差值,并将其转换为秒数。
  • 例如:

    using System;namespace DateTimeClass{    class Program    {        static void Main(string[] args)        {            // 记录开始时间            long begin = DateTime.Now.Ticks;                        // 执行时间敏感的代码            for (int i = 1; i <= 10000000; i++)            {                // 模拟耗时操作                System.Threading.Thread.Sleep(1);            }                        // 记录结束时间            long end = DateTime.Now.Ticks;                        // 计算总时间(以微秒为单位)            long duration = end - begin;            decimal seconds = duration / 10000000m;            Console.WriteLine("总耗时:{0} 秒", seconds);        }    }}

    信息来源

    该文章内容转载自:https://www.cnblogs.com/xiefang2008/p/9552137.html

    你可能感兴趣的文章
    msf
    查看>>
    MSSQL数据库查询优化(一)
    查看>>
    MSSQL日期格式转换函数(使用CONVERT)
    查看>>
    MSTP多生成树协议(第二课)
    查看>>
    MSTP是什么?有哪些专有名词?
    查看>>
    Mstsc 远程桌面链接 And 网络映射
    查看>>
    Myeclipse常用快捷键
    查看>>
    MyEclipse用(JDBC)连接SQL出现的问题~
    查看>>
    myeclipse的新建severlet不见解决方法
    查看>>
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>