C#下的时间测试(用于计算方法执行时间)

 1 public class Timing
 2     {
 3         private TimeSpan m_StartTime;
 4
 5         private TimeSpan duringTime;
 6
 7         public Timing()    //构造函数用于初始化开始时间和持续时间
 8         {
 9             this.m_StartTime = new TimeSpan(0);   //初始化的时候设置时间为00:00:00
10             this.duringTime = new TimeSpan(0);
11         }
12
13         public void StartTime()
14         {
15             GC.Collect();                        //为了防止程序运行的时候有无用单元干扰提前进行GC收集
16             GC.WaitForPendingFinalizers();       //储存在堆中所有对象在最后都会调用finalizer方法,但是无法确定finalizer是否执行,所有要等待finalizer都运行完毕进行后面的步骤(此方法执行的时候线程会挂起)
17             m_StartTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime;  //得到当前进程的时间
18         }
19
20         public void StopTime()
21         {
22             duringTime = Process.GetCurrentProcess().Threads[0].UserProcessorTime.Subtract(m_StartTime);
23             //得到当前进程的时间过了多少时间即当前时间-开始(m_StartTime)的时间
24         }
25
26         public TimeSpan Result()
27         {
28             return duringTime;      //返回运行时间
29         }
30     }
31     class Program
32     {
33         static void Main(string[] args)
34         {
35
36             int[] array = new int[10000]; //进行测试的时候初始化了一个容量为10000的int数组
37             Timing timing = new Timing(); //初始化计算的类
38             timing.StartTime();           //开始计算时间
39             Add(array);                   //数组每个都添加当前序号值的数
40             DisplayCount(array);          //输出每个数
41             timing.StopTime();            //停止计算时间
42             Console.WriteLine(timing.Result()); //输出计算的时间
43             Console.ReadKey();            //暂停程序
44         }
45
46         public static void Add(int[] arr)
47         {
48             for (int i = 0; i < arr.Length; i++)
49             {
50                 arr[i] = i;
51             }
52         }
53         public static void DisplayCount(int[] arr)
54         {
55             for (int i = 0; i < arr.Length; i++)
56             {
57                 Console.WriteLine(arr[i]);
58             }
59         }
60     }

原文地址:https://www.cnblogs.com/kliine/p/10822995.html

时间: 2024-10-11 04:46:59

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

Web下的整体测试 --性能测试及优化思路

随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进行测试成为日益迫切的问题.有许多测试人员来信问我B/S的测试如何做,由于工作较繁忙,对大家提出的问题也是头痛医头脚痛医脚,没有对WEB的测试过程做一个整体的概述.希望通过本篇能够让大家了解大型Web应用是如何来进行测试的. B/S下的功能测试比较简单,关键是如何做好性能测试.目前大多数的测试人员认为只要跑一些测试工具证明我的产品是可以达到性能的就ok了,为了证明而去测试是没有任何价值的,关键是要发现产品性能上

Linux 下的时间编程总结

在嵌入式编程中中,经常需要输出系统的当前时间.计算程序的执行时间.使用计时器等.最近也做了不少关于时间的操作,今天就认真总结一下,部分内容是在网上看到的.自己经过验证总结出来. 1.时间的类型 1.格林威治标准时间 coordinated universal time(UTC)是世界标准时间,即常说的格林威治标准时间(greenwich mean time,GMT). 2.日历时间 日历时间(calendar time)是用"一个标准时间点(如1970年1月1日0点)到此时经过的秒数"

lLinux 下 Stress 压力测试工具

Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 安装 方式一 将stress的安装包上传并解压到linux服务器的/usr/local/src路径下, 执行:tar -xf stress_1.0.1.orig.tar.gz 进入解压后的stress-1.0.1文件夹, 输入:./configure 进行配置,若配置失败,并打印no acceptable c compiler found in path, 则表示

Linux系统下的shutdown命令用于安全的关闭/重启计算机

Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提示关机操作.定时关机只需要一个简单的参数,既可以是倒计时,也可以是确切的时间. 命令格式 1 shutdown [选项] [时间] [消息] 并有如下选项: - k 不执行任何关机操作,只发出警告信息给所有用户 - r 重新启动计算机 - h 关机并彻底断电 - f 快速关机且重启动时跳过fsck

c和c++在windows下获取时间和计算时间差的方法总结

c/c++在windows下获取时间和计算时间差的几种方法总结 一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: 1 #include <time.h> 2 #include <stdio.h> 3 4 int main() 5 { 6 time_t start, end; 7 double c

linux 下ab压力测试

1.ab的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等 2.ab的原理 ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx.lighthttp.tomcat.IIS等其它Web服务器

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

如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例

多环境多需求并行下的代码测试覆盖率统计工具实现

马蜂窝技术原创内容,更多干货请关注公众号:mfwtech 测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量.「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题. 在马蜂窝大交通.酒店等交易相关业务中,项目的开发和测试实践同样遵循敏捷的原则,迭代周期短.速度快.因此,如何依据测试覆盖率数据帮助我们有效判断项目质量.了解测试状态.提升迭代效率,是我们一直很重视的工作. Part.1 测试覆盖率统计中的挑战 对于功能测试而言,通常

虚拟机下centos时间不正确的方便解决方法

就是用NTP了,通过外部的服务同步时间. ntpdate us.pool.ntp.org | logger -t NTP 如果没有ntpdate ,可以使用 yum install ntpdate 进行安装. 当然最好放在crontab里面,各一段时间同步一次就OK. crontab -e * * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP 每分钟同步一次,够狠吧. ===============================