如何统计代码行执行的时间?
2009-05-29 19:43
507 查看
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 中的运行结果
![](file:///C:/DOCUME%7E1/tpri/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image002.gif)
请计算下列代码执行所耗费的时间,给出通用的解决方法?
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 中的运行结果
![](file:///C:/DOCUME%7E1/tpri/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image002.gif)
![](http://images.cnblogs.com/cnblogs_com/hbb0b0/genericApp/Generic.jpg)
相关文章推荐
- 如何统计代码行执行的时间?
- 统计代码执行时间
- 统计代码执行时间,使用Stopwatch和UserProcessorTime的区别
- 需求:OC统计代码执行时间,单位为毫秒。
- c语言中如何添加计时函数,统计程序执行的时间
- 如何快速的查看一段代码的执行时间
- 如何看js或者java的执行时间(查找导致加载慢的代码)
- 老男孩教育每日一题第120天-如何统计脚本执行的时间?
- c语言中如何添加计时函数,统计程序执行的时间
- 统计代码执行时间
- 统计代码执行时间
- c语言中如何添加计时函数,统计程序执行的时间
- delphi如何获得一段代码执行消耗的时间
- CodeIgniter(3.1.4)框架中添加执行时间统计代码
- c6455统计代码的执行时间
- c语言中如何添加计时函数,统计程序执行的时间
- 性能分析 之 统计代码的执行时间
- 三行代码实现.NET MVC统计显示页面的执行时间 超简单的实现方法 分析页面执行效率
- IAR下如何确定某一段代码的执行时间
- c语言中如何添加计时函数,统计程序执行的时间