如何统计代码行执行的时间?

摘要:
ListmyList=newList();for{myList.Add;}2.解决方法using{ListmyList=newList();for{myList.Add;}}}OperationTimer类会在调用构造函数时取得时间t1,在调用Dispose()取得时间t2,中间过程耗费的时间=t2-t1.Using语法会在using块的末尾调用using中声明对象的Dispose方法。

1.问题

请计算下列代码执行所耗费的时间,给出通用的解决方法?

List<Int32> myList=new List<Int32>();

for(Int32 i=0;i<ICount;i++)

{

myList.Add(i);

}

2.解决方法

using (OperationTimer op=new OperationTimer ("Generic "))

{

List<Int32> myList=new List<Int32>();

for(Int32 i=0;i<ICount;i++)

{

myList.Add(i);

}

}

}

OperationTimer 类会在调用构造函数时取得时间t1,在调用Dispose()取得时间t2,中间过程耗费的时间=t2-t1. Using 语法会在using 块的末尾调用using中声明对象的Dispose方法。

3.代码

using System;

using System.Diagnostics;

using System.Collections;

using System.Collections.Generic;

namespace genericApp

{

///计时辅助类

public class OperationTimer:IDisposable{

private Int64 m_startTime;

private string m_text;

private Int32 m_CollectionCount;

public OperationTimer(string text)

{

m_startTime=Stopwatch.GetTimestamp();

m_text=text;

}

public void Dispose()

{

string text=string.Format("Time={0,6:###.00}",(Stopwatch.GetTimestamp()-m_startTime)/Stopwatch.Frequency);

Console.WriteLine(string.Format("{0}:{1}",m_text,text));

}

}

class MainClass

{

public static void Main(string[] args)

{

ValueTypePerfermanceTest();

Console.Read();

}

static void ValueTypePerfermanceTest()

{

const Int32 ICount=20000000;

using (OperationTimer op=new OperationTimer ("Generic "))

{

List<Int32> myList=new List<Int32>();

for(Int32 i=0;i<ICount;i++)

{

myList.Add(i);

}

}

using (OperationTimer op2=new OperationTimer ("ArrayList "))

{

ArrayList myList=new ArrayList();

for(Int32 i=0;i<ICount;i++)

{

myList.Add(i);

}

}

}

}

}

4.Mono 2.4 中的运行结果

Generic.jpg

如何统计代码行执行的时间?第1张

免责声明:文章转载自《如何统计代码行执行的时间?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Microsoft RichCopy蓝牙解析数据及文档解析说明下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android蓝牙开发技术学习总结

Android开发,提供对蓝牙的通讯栈的支持,允许设别和其他的设备进行无线传输数据。应用程序层通过安卓API来调用蓝牙的相关功能,这些API使程序无线连接到蓝牙设备,并拥有P2P或者多端无线连接的特性。 蓝牙的功能: 1、扫描其他蓝牙设备 2、为可配对的蓝牙设备查询蓝牙适配器 3、建立RFCOMM通道(其实就是尼玛的认证) 4、通过服务搜索来链接其他的设备...

获得jar包存放路径的方法

在 java 中, System.getProperty("user.dir") 得到的是当前工作路径(对应命令行命令就是 linux 下的 pwd 、 windows 下的 cd ),而 System.getProperty("user.home") 得到的是当前用户主目录(对应于 linux 下的 ~ 目录、 windows 下的 document a...

Java bean 转为xml

Java bean 转为xml可以采用XStream类来完成 pom.xml <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>...

C# wps转pdf(word、ppt、excel),在线预览pdf

wps转pdf  注:我是在wps试用期专业版,windows10系统  vs2019 webform(.net framework4.5)测试。   前提:需要下载安装wps专业版、企业版。   项目中需要引用wps的com组件     com组件Upgrade WPS Spreadsheets 3.0 Object Library (Beta)  ,对...

Java自学-类和对象 传参

Java中的传参 变量有两种类型 基本类型 和类类型 参数也是变量,所以传参分为基本类型传参类类型传参 步骤 1 : 基本类型传参 基本类型传参在方法内,无法修改方法外的基本类型参数 public class Hero { String name; //姓名 float hp; //血量...

Springboot 解析 json 并返回+ Jsoup介绍及解析常用方法

1、配置pom.xml <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.11.2...