博客
关于我
.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

    你可能感兴趣的文章
    MyEclipse设置当前行背景颜色、选中单词前景色、背景色
    查看>>
    myeclipse配置springmvc教程
    查看>>
    MyEclipse配置SVN
    查看>>
    MTCNN 人脸检测
    查看>>
    MyEcplise中SpringBoot怎样定制启动banner?
    查看>>
    MyPython
    查看>>
    MTD技术介绍
    查看>>
    MySQL
    查看>>
    MySQL
    查看>>
    mysql
    查看>>
    MTK Android 如何获取系统权限
    查看>>
    MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
    查看>>
    MySQL - ERROR 1406
    查看>>
    mysql - 视图
    查看>>
    MySQL - 解读MySQL事务与锁机制
    查看>>
    MTTR、MTBF、MTTF的大白话理解
    查看>>
    mt_rand
    查看>>
    mysql /*! 50100 ... */ 条件编译
    查看>>
    mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
    查看>>
    mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
    查看>>