作者larrywhy (坏)
看板C_Sharp
标题[问题] 关於效能评估
时间Tue Apr 1 14:50:54 2014
我想请问一下,写出一个程式。
除了 本身设计的演算法去推算时间复杂度之外。
该如何去评估一个程式的效能?
我的想法是:
利用 timer 去计算开始到结束时间
如果是极小的程式 Date time 可能无法计算 (单位太小)
如果是大型程式 一个专案之类的。
利用 timer也不知道是否正确
请问要如何去评估一个程式的运算时间(/性能)呢?
在不同IDE上 可能有显示运算时间(如:dev c++)
请问visual studio 2012 如何去察看呢?
在不同语言 使用的性能评估方式是否也有不同?
在比较同样的程式下,(不同语言撰写) 该如何去评估比较两个程式的性能呢?
--
千万不要复制红色区块贴上
X
我是胖虎,我是孩子王
y
eeeeeeee
y
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.102.72
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1396335058.A.C9A.html
1F:→ iterator:看你想要获得什麽资讯,单纯比较程式区块的速度, 04/01 14:53
2F:→ iterator:可以使用 System.Diagnostics.Stopwatch 04/01 14:53
3F:→ iterator:Visual Studio Premium 版本以上, 有提供 Profiling 功能 04/01 14:55
4F:→ iterator:可以让你统计分析整个程式运作时,各个模取的时间及资源 04/01 14:56
请问如果要比较不同语言呢? 这是单纯在单一个IDE上去跑测试评估。
我想请问如果像是在程式比赛,ex:ACM 那种? 他们是如何去评估比较的?
※ 编辑: larrywhy (140.123.102.72), 04/01/2014 15:00:06
5F:→ iterator:感觉这类需求的就不是很精确的数字, 04/01 15:13
6F:→ iterator:在程式内或是程式外,前後加上 timer 应该就可以了 04/01 15:13
7F:→ m339606:计算tick应该已经是最准确的了,不过在C#跟JAVA这两种会有 04/01 20:02
8F:→ m339606:JIT的程式码似乎是无法互相比较的 04/01 20:04
9F:→ m339606:还有系统负载也有差,毕竟现在os多工处理下去就会有误差 04/01 20:04
10F:→ m339606:大概现在只有单晶片单工执行才可以准确计算出tick? 04/01 20:06
11F:→ larrywhy:感谢 那我大概知道了! 04/01 22:10
12F:→ Litfal:摊开来,还是可以知道算法在某些指令集下的cpu clocks 04/02 18:39