博客
关于我
.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 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>