免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1256 | 回复: 0
打印 上一主题 下一主题

K-Best 测量方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-18 23:11 |只看该作者 |倒序浏览

在检测程序运行时间这个复杂问题上,可以采用 Randal E.Bryant 和 David R. O’Hallaron 提出的 K 次最优测量方法。假设重复的执行一个程序,并纪录 K 次最快的时间,如果发现测量的误差  很小,那么用测量的最快值表示过程的真正执行时间,称这种方法为“ K 次最优(K-Best)方法”,要求设置三个参数:
K: 要求在某个接近最快值范围内的测量值数量。
: 测量值必须多大程度的接近,即测量值按照升序标号 V1, V2, V3, … , Vi, … ,同时必须满足(1+)Vi  Vk
M: 在结束测试之前,测量值的最大数量。
按照升序的方式维护一个 K 个最快时间的数组,对于每一个新的测量值,如果比当前 K 处的值更快,则用最新的值替换数组中的元素 K ,然后再进行升序排序,持续不断的进行该过程,并满足误差标准,此时就称测量值已经收敛。如果 M 次后,不能满足误差标准,则称为不能收敛。
在接下来的所有试验中,采用 K=10,=2%,M=200 来获取程序运行时间,同时也对 K 次最优测量方法进行了改进,不是采用最小值来表示程序执行的时间,而是采用 K 次测量值的平均值来表示程序的真正运行时间。由于采用的误差 比较大,在所有试验程序的时间收集过程中,均能收敛,但也能说明问题。
为了可移植性,采用 gettimeofday() 来获取系统时钟(system clock)时间,可以精确到微秒。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106856/showart_2125369.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP