我自己的理解哈,我也是菜鸟。。。 Globalasax是全局应用程序类,就是来管理和控制程序的生命周期的
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//记录开始时间
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
//计算结束时间和开始时间时间差,得出运行时间
}
你可以在开始时候记录时间,结束时候再记录时间,然后看时间两个时间差,或者其他逻辑,这就得你自己考虑了 手打求采纳
第一种方法利用SystemDateTimeNow
[csharp]
view
plaincopy
static
void
SubTest()
{
DateTime
beforDT
=
SystemDateTimeNow;
//耗时巨大的代码
DateTime
afterDT
=
SystemDateTimeNow;
TimeSpan
ts
=
afterDTSubtract(beforDT);
ConsoleWriteLine("DateTime总共花费{0}ms",
tsTotalMilliseconds);
}
第二种用Stopwatch类(SystemDiagnostics)
[csharp]
view
plaincopy
static
void
SubTest()
{
Stopwatch
sw
=
new
Stopwatch();
swStart();
//耗时巨大的代码
swStop();
TimeSpan
ts2
=
swElapsed;
ConsoleWriteLine("Stopwatch总共花费{0}ms",
ts2TotalMilliseconds);
}
第三种用API实现:
[csharp]
view
plaincopy
[SystemRuntimeInteropServicesDllImport("Kernel32dll")]
static
extern
bool
QueryPerformanceCounter(ref
long
count);
[SystemRuntimeInteropServicesDllImport("Kernel32dll")]
static
extern
bool
QueryPerformanceFrequency(ref
long
count);
static
void
SubTest()
{
long
count
=
0;
long
count1
=
0;
long
freq
=
0;
double
result
=
0;
QueryPerformanceFrequency(ref
freq);
QueryPerformanceCounter(ref
count);
//耗时巨大的代码
QueryPerformanceCounter(ref
count1);
count
=
count1
-
count;
result
=
(double)(count)
/
(double)freq;
ConsoleWriteLine("QueryPerformanceCounter耗时:
{0}
秒",
result);
}
如果要计算一段程序运行时间,可以在这段程序的第一句前添加语句“tic”,在该端程序后添加语句“t=toc”即可,那么返回值t即为该段程序所耗时间。
看下例:
a=[1:900000];
b=zeros(1,900000);
tic
for i=1:900000
b(i)=2a(i);
end
t=toc
a为一个递增数组,b是一个与a同大小的空数组。可能有人问,为什么要先创建一个空数组,原因是这样的,事先声明一个数组然后往里填数,这样比来一个数扩充一个数的位置要省时间的。
为了统计for循环的耗时,则在相应位置添加tic和toc语句即可。运行结果t= 00150,单位是秒。
用GetTickCout记录下当前时间
用CreateThread启动线程
用WaitForSingleObject(handle,INFINITE)等待线程退出
最后再用GetTickCout记录当前时间,与之前的保存的相减
得到的就是运行时间,毫秒数。
根据指令周期,51系列单片机指令周期是晶振周期的12倍,比如12M晶振,指令周期是1us,每条指令的指令周期是不一样的。如果是高级语言,就要看编译后的汇编程序了。如果是延时程序,纯粹的循环(像这样:while ( us -- ); ),比较简单,一般一个循环就是一个指令周期。
以上就是关于.net 怎么计算一个程序的运行时间全部的内容,包括:.net 怎么计算一个程序的运行时间、C# 计算程序运行时间、MAtlab程序执行时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)