使用.net Stopwatch class 来分析你的代码
当我们在调试,优化我们的代码的时候,想知道某段代码的真正的执行时间,或者我们怀疑某段代码,或是某几段代码执行比较慢,
需要得到具体的某段代码的具体执行时间的时候。有一个很好用的类Stopwatch。
Stopwatch 类在 System.Diagnostics命名空间下。可以用来做分析.net代码块的基本工具。
例如:
System.Diagnostics.Stopwatch timerObj = new System.Diagnostics.Stopwatch();timerObj.Start();Decimal totalDec = 0; int limit = 1000000; for (int i = 0; i < limit; ++i) { totalDec = totalDec + (Decimal)Math.Sqrt(i); } timerObj.Stop(); Console.WriteLine(“Sum of square roots: {0}”,totalDec); Console.WriteLine(“Milliseconds elapsed : {0}”,timerObj.ElapsedMilliseconds); Console.WriteLine(“Time elapsed : {0}”, timerObj.Elapsed);
输出结果:
Sum of square roots : 666666166.45882210823608
Milliseconds elapsed: 282
Time elapsed : 00:00:00.2828692
当你用Stopwatch 来调试你的时候,你可以使用 IDisposable 接口来自动关掉Stopwatch
1.定义一个自定义的Stopwatch类,继承System.Diagnostics.Stopwatch 和 IDisposable
class AutoStopwatchDemo : System.Diagnostics.Stopwatch, IDisposable { public AutoStopwatchDemo() { Start(); } public void Dispose() { Stop(); Console.WriteLine(“Elapsed : {0}”, this.Elapsed); } }
2. 在你要调试的代码块里面使用
using (new AutoStopwatchDemo()) { Decimal totalObj2 = 0; int limitObj2 = 1000000; for (int i = 0; i < limit2; ++i) { totalObj2 = limitObj2 + (Decimal)Math.Sqrt(i); } }
此外,Stopwatch除了有Start()和Stop()方法,还有 Reset() 方法
转载于:https://www.cnblogs.com/zhangkeyu/p/6663850.html
使用.net Stopwatch class 来分析你的代码相关推荐
- 手机自动化测试:Appium源码分析之跟踪代码分析四 1
手机自动化测试:Appium源码分析之跟踪代码分析四 控制器模块 // Appium webserver controller methods // https://github.com/hugs/a ...
- 20189208 2018-2019-2 《移动平台开发实践》分析小组项目代码
20189208 2018-2019-2 <移动平台开发实践>分析小组项目代码 一.代码的组成部分 app: manifests AndroidManifest.xml java com. ...
- 【Matlab 控制】仿真含时滞多智体一致性分析,附代码
Matlab 仿真含时滞多智体一致性分析,附代码 系统结构如下图所示: clear; clc; % 2014_多智能体网络的一致性问题研究_纪良浩 % 此为Paper中的示例代码 % 例2.1: A ...
- 【Matlab 控制】仿真多智体一致性分析,附代码
Matlab 仿真多智体一致性分析,附代码 本例程所有参数及状态均采用最简单的形式,使更容易理解一致性的收敛过程. 所使用拉普拉斯矩阵图为如下所示的无向图(undirected graph) 输入: ...
- 数学建模——层次分析法Python代码
数学建模--层次分析法Python代码 import numpy as np class AHP: """ 相关信息的传入和准备 """ d ...
- Adaboost算法原理分析和实例+代码(简明易懂)
Adaboost算法原理分析和实例+代码(简明易懂) [尊重原创,转载请注明出处] http://blog.csdn.net/guyuealian/article/details/70995333 ...
- python做数据可视化的代码_Python数据可视化正态分布简单分析及实现代码
Python说来简单也简单,但是也不简单,尤其是再跟高数结合起来的时候... 正态分布(Normaldistribution),也称"常态分布",又名高斯分布(Gaussiandi ...
- python解常微分方程龙格库_求解常微分方程组初值问题的龙格库塔法分析及其C代码...
求解常微分方程组初值问题的 龙格库塔法分析及其 C 代码 1 .概 述 由高等数学的知识可知,一些特殊类型的常微分方程(组)能够求出给定初 始值的解析解, 而在科学与工程问题中遇到的常微分方程 (组) ...
- 基于MODIS数据的NDVI与LST相关性分析(IDL代码实现)
1 数据预处理 (1)数据提取 我们可以选取2018年5月初华东地区MODIS中的MOD11A2和MOD13A2的16天合成LST和NDVI产品数据,下载地址:MODIS数据下载 网站下载数据需要注册 ...
最新文章
- js设置div透明度
- php 转换数组的字符集,PHP 自动转换字符集(支持字符串和数组)功能实例
- 数学建模 分支限界算法求解整数规划原理以及编程实现
- jQuery UI应用--滑块Slider
- php外卖系统源码单店,网上订餐系统 v3.1 单店版
- 去掉iframe的水平滚动条而保留垂直滚动条
- 互联网时代的发展给实体业都造成了不小的冲击
- 基于虚拟日志压缩的数据同步方案
- btoa java,JavaScript用btoa和atob来编码解码Base64
- FreeBSD 恢复root密码-FreeBSD 5 或都之后版本.
- 【mongoDB实战】mongoDB数据导入和导出
- 优雅的校验参数-javax.validation
- 通过xmlhttp实现-报告归档
- 构建之法第四章学习心得
- 深圳数据分析认证(CPDA)含金量怎么样?
- AutoIt上路03-添加工具栏
- linux netcdf编译,Netcdf4安装指南
- hEi2ANzja!;¥WgxjckTxiGZ¥ mp4_限时特价 | ¥499起享深圳东部华侨城两日双人游,住吃玩都有了!...
- java 23种设计模式详解
- 第一章 MySQL数据库的简介
热门文章
- angular ajax get post 参数,Angular的Post 传递参数问题及解决方法
- 程序如何在两个gpu卡上并行运行_深度学习分布式训练相关介绍 - Part 1 多GPU训练...
- c语言 链表_C语言编程第22讲——单向有序链表的C语言实现
- VS2010报错 error:LINK1123:转换到COF期间失败,文件无限或损坏
- Linux怎么处理binray文件,Linux下如何反汇编arm raw binary文件
- python数据库连接池使用
- java bitset_Java BitSet and()方法与示例
- bootstrap网格系统_如何使用Bootstrap网格系统?
- Python operator.le()函数与示例
- Java ObjectOutputStream writeFloat()方法与示例