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

    你可能感兴趣的文章
    MySQL主从复制的原理和实践操作
    查看>>
    webpack loader配置全流程详解
    查看>>
    mysql主从复制,读写分离,半同步复制实现
    查看>>
    MySQL主从失败 错误Got fatal error 1236解决方法
    查看>>
    MySQL主从架构与读写分离实战
    查看>>
    MySQL主从篇:死磕主从复制中数据同步原理与优化
    查看>>
    mysql主从配置
    查看>>
    MySQL之2003-Can‘t connect to MySQL server on ‘localhost‘(10038)的解决办法
    查看>>
    MySQL之CRUD
    查看>>
    MySQL之DML
    查看>>
    Mysql之IN 和 Exists 用法
    查看>>
    MYSQL之REPLACE INTO和INSERT … ON DUPLICATE KEY UPDATE用法
    查看>>
    MySQL之SQL语句优化步骤
    查看>>
    MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)
    查看>>
    Mysql之主从复制
    查看>>
    MySQL之函数
    查看>>