public class Timing
{
private TimeSpan m_StartTime; private TimeSpan duringTime; public Timing() //构造函数用于初始化开始时间和持续时间
{
this.m_StartTime = new TimeSpan(); //初始化的时候设置时间为00:00:00
this.duringTime = new TimeSpan();
} public void StartTime()
{
GC.Collect(); //为了防止程序运行的时候有无用单元干扰提前进行GC收集
GC.WaitForPendingFinalizers(); //储存在堆中所有对象在最后都会调用finalizer方法,但是无法确定finalizer是否执行,所有要等待finalizer都运行完毕进行后面的步骤(此方法执行的时候线程会挂起)
m_StartTime = Process.GetCurrentProcess().Threads[].UserProcessorTime; //得到当前进程的时间
} public void StopTime()
{
duringTime = Process.GetCurrentProcess().Threads[].UserProcessorTime.Subtract(m_StartTime);
//得到当前进程的时间过了多少时间即当前时间-开始(m_StartTime)的时间
} public TimeSpan Result()
{
return duringTime; //返回运行时间
}
}
class Program
{
static void Main(string[] args)
{ int[] array = new int[]; //进行测试的时候初始化了一个容量为10000的int数组
Timing timing = new Timing(); //初始化计算的类
timing.StartTime(); //开始计算时间
Add(array); //数组每个都添加当前序号值的数
DisplayCount(array); //输出每个数
timing.StopTime(); //停止计算时间
Console.WriteLine(timing.Result()); //输出计算的时间
Console.ReadKey(); //暂停程序
} public static void Add(int[] arr)
{
for (int i = ; i < arr.Length; i++)
{
arr[i] = i;
}
}
public static void DisplayCount(int[] arr)
{
for (int i = ; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
}
}

C#下的时间测试(用于计算方法执行时间)的更多相关文章

  1. 用于.NET环境的时间测试(转)

    用于.NET环境的时间测试   在.NET环境中,衡量运行完整算法所花费的时间长度,需要考虑很多 需要考虑很多种情况 ,如:程序运行所处的线程以及无用单位收集(GC垃圾回收). 在程序执行过程中无用单 ...

  2. lLinux 下 Stress 压力测试工具

    作者信息 邮箱:sijiayong000@163.com Q Q:601566386 Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这 ...

  3. 【原创】xenomai 在X86平台下中断响应时间测试

    1.中断响应时间 实时操作系统的意义就在于能够在确定的时间内处理各种突发的事件,而中断这些事件.系统抢占调度的触发点,因而衡量嵌入式实时操作系统的最主要.最具有代表性的性能指标参数无疑是中断响应时间. ...

  4. Linux下精确控制时间的函数

    Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类 ...

  5. 微服务下的契约测试(CDC)解读

    1. 前言 有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载<RobotFramework接口自动化系列课程>,原本计划每周更新一篇,最近由于博主在带一个 ...

  6. linux 下ab压力测试

    1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试 ...

  7. Golang时间函数及测试函数执行时间案例

    package main import ( "fmt" "time" ) func main(){ //[时间获取及格式化] //获取当前时间 now_time ...

  8. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  9. Python接口测试实战3(下)- unittest测试框架

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. Linux网络——配置网络之ifconfig家族命令

    Linux网络——配置网络之ifconfig家族命令 摘要:本文主要学习了ifconfig家族用来配置网络的命令. ifconfig命令 ifconfig命令用来显示或设置网络接口信息,设置只是临时生 ...

  2. 版本管理·玩转git(分支管理)

    在开发中,遇到这样的情况怎么办? 网站已有支付宝在线支付功能,要添加"微信支付",修改了两个文件,wechat.php.pay.php. 刚做到一半,突然有个紧急bug:支付宝支付 ...

  3. oracle自定义存储过程:删除表(无论表是否存在)和检测表是否存在

    oracle删除表,如果表不存在,就报错,在跑大型脚本(脚本长且耗时的时候)比较麻烦,一般希望的是点开始然后脚本运行到结束,不可能一直盯着屏幕等弹出提示手工点掉,mysql就很好有drop table ...

  4. 渗透测试学习 十五、 文件上传&&解析漏洞

    大纲:文件解析漏洞 上传本地验证绕过 上传服务器验证绕过 文件解析漏洞 解析漏洞主要说的是一些特殊文件被IIS.Apache.Nginx在某些情况下解释成脚本文件格式的漏洞. IIS 5.x/6.0解 ...

  5. 多线程时,请求执行不是按顺序的,可添加Critical Section Controller(临界部分控制器),执行顺序是固定的,但执行一段时间后,该逻辑器下的请求不再循环,无解ing

  6. springboot中的照片上传工具类

    public class UploadImgUtils { private static String savePath = ""; /** * 上传照片工具类 * * @para ...

  7. oracle 循环插入数据

    参考链接:oracle 行转列 pivot函数基本用法 --建表 --drop table SalesList; create table SalesList( keHu varchar2(20), ...

  8. day74_10_21 三大认证

    一.权限六表. 一般在django中,基于用户权限访问控制的认证是RBAC(Role-Based Access Control) 还有一些基于auth的认证规则. Django框架采用的是RBAC认证 ...

  9. 剑指Offer-18.二叉树的镜像(C++/Java)

    题目: 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ ...

  10. FLOPS

    FLOPS FLOPS(Float Operations Per Second):每秒浮点运算量,是衡量吞吐率的一个单位,通过折算到具体的浮点操作数量上. 所谓,吞吐率——就如同水管,每秒可以流出多少 ...