Discussion:
如何实验性的分析代码的运行效率?
(时间太久无法回复)
LU Wei
2010-03-18 14:39:34 UTC
Permalink
question: 假设两段代码实现了同一个功能,如何从实验的角度,证明其中一个比
另一个效率高
要求必须有统计学上可令人信服的结果。当执行重复试验的时候,需要考虑到运行
环境无法做到完全一样。
班门弄斧一下,先定义几个“效率”的性能指标,最简单的假设定义一个执行时间t,
随机执行两种代码n次,结果分别记录到两个样本集T1和T2,然后做单因子方差分析,
看你的“令人信服”的要求有多高来取置信度,如果真的有差异,一般最后的结论类似于
“在95%的置信度水平,T1和T2存在显著差异”。
--
Regards,
LU Wei
PGP key ID: 0x92CCE1EA
LU Wei
2010-03-21 15:41:38 UTC
Permalink
Post by LU Wei
班门弄斧一下,先定义几个“效率”的性能指标,最简单的假设定义一个执行时间t,
随机执行两种代码n次,结果分别记录到两个样本集T1和T2,然后做单因子方差
分析,
看你的“令人信服”的要求有多高来取置信度,如果真的有差异,一般最后的结论
类似于
“在95%的置信度水平,T1和T2存在显著差异”。
我正在看的资料,和你说的很一致。http://www.freebsd.org/cgi/man.cgi?ministat
你这里所说的单因子方差分析是什么?
或者,你给个网址,我去看。 ^_^
回得太晚,可能你已经自己查到了吧,那个ministat小程序的说明太简略了,方差
分析一般的工具里都叫做ANOVA(你用关键字ANOVA应该能查到更多的资料),是假
设检验的一种,一般是为了检验多个样本来自同一个(正态)总体,最简单的情况
应该就等效于t-检验(但是方差分析一般都是用F-分布)。假如两种程序的性能是
一样的,那么样本集T1和T2应该是同一个分布,均值和方差都一样,在这种情况下
可以构造一个统计量,然后检验假设是否落在置信区间内。更详细的解释还是看看
数理统计教材,只是使用的话,excel和origin都有现成的功能模块,我一般就用
它们做方差分析。不过我想你的要求也许是要编程
--
Regards,
LU Wei
PGP key ID: 0x92CCE1EA
Loading...