在C#中,怎样查看一个函数的运行时间?

在一段C#程序中有一个函数f(),我想知道运行完这段程序的时间中,运行f()的时间占了总时间的多大比例。请问有没有什么办法能够办得到?(我用的是vs2012)... 在一段C#程序中有一个函数f(),我想知道运行完这段程序的时间中,运行f()的时间占了总时间的多大比例。请问有没有什么办法能够办得到?(我用的是vs2012) 展开
 我来答
Allenaheaven
2013-11-29 · TA获得超过342个赞
知道答主
回答量:189
采纳率:0%
帮助的人:156万
展开全部
System.DateTime t1, t2;
System.TimeSpan ts;

在f()里面,开始的地方添加
t1 = System.DateTime.Now;
在f()里面,结束的地方添加:
t2 = System.DateTime.Now;
ts = t2 - t1;
这个ts就是f()运行的时间,是个结构体,只能记录到毫秒。
你可以将其毫秒值赋值给一个变量
如:double fms = ts.TotalMilliseconds;

通过这个方法,你也可以将你程序总的运行时间记录下来。占比就很简单得到了。
syht2000
高粉答主

2013-11-29 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

c#有个Stopwatch用来计时的,按你的需求,代码可能是

Stopwatch sw1 = new Stopwatch();
Stopwatch sw2 = new Stopwatch();
sw1.Start();//主程序开始计时
//其它代码
sw2.Start();//f方法开始计时
f();
sw2.Stop();
//其它代码
sw1.Stop();
//sw1.ElapsedMilliseconds即为总耗时(毫秒),sw2.ElapsedMilliseconds为f运行耗时
//当然Stopwatch还有其它一些用法,比如分段记时等等,可以自己研究一下。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_0_1
高粉答主

2015-10-29 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:827万
展开全部
以下程序的过程是,输出一个文本文件,给出哪些行是重复的,第一次出现的行号,格式如下行号 ,此行的文本内容,并给出此程序的运行时间.
static void Main(string[] args)
{
TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks);
StreamReader sr = new StreamReader(@"D:\文本.txt", System.Text.Encoding.Default); //the path of source file.
String strline="";
int number=1;//行号
StringBuilder sb=new StringBuilder();
Hashtable myHT=new Hashtable ();//定义哈希表,判断重复行
while((strline=sr.ReadLine())!=null)//判断当前读的一行字符串是不是为空,为空就不要判断后面
{
if (myHT.ContainsKey(strline))//判断当前这一行内容是不是已经存到哈希表了
{
sb.Append(myHT[strline].ToString() + " " + strline + "\r\n");//如果这一行内容已经添加过,则重复,把重复的内容放到StringBuilder中

}
else
{
myHT.Add(strline, number);//存入行的内容以及它的行号.
}
number++;
}
sr.Close();//结束
StreamWriter wr = new StreamWriter(@"D:\1.txt");//the output file.
wr.Write(sb+"");//输出StringBuilder到指定路径.
wr.Close();
TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks); //get current ticks.
string spanTotalSeconds = ts2.Subtract(ts1).Duration().TotalSeconds.ToString(); //计算整个程序的运行时间
Console.WriteLine(spanTotalSeconds);
Console.ReadKey();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁书包
2013-11-29 · TA获得超过433个赞
知道小有建树答主
回答量:366
采纳率:0%
帮助的人:142万
展开全部
这个东西不用实际去运行,分析一下复杂度就可以估算出比例了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式