GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
30楼#
发布于:2011-04-13 18:43
jaegermonkey 版刚出了一个小时版,还是没修正 V8 benchmark 的 bug,看来还要等明天早上的小时版。
Jack
小狐狸
小狐狸
  • UID7249
  • 注册日期2005-07-12
  • 最后登录2011-04-15
  • 发帖数16
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
31楼#
发布于:2011-04-13 18:43
V8 benchmark 有严重的bug,浏览器可以作弊,提高测试成绩。

照这么说,sunspider也有严重bug,浏览器可以作弊,提高测试成绩。2010年9月,mozilla开发者在blog里指出,IE9 Preview3在SunSpider的math-cordic测试中,至少比别的浏览器快10倍。但对代码做了少量改动后再测试,IE9 Preview3却不能保持同样的表现。
原文链接:
http://blog.mozilla.com/rob-sayre/2010/ ... losing-in/

大概一个多月前,TypeInference在Kraken速度测试上有过大幅上涨,超过了google的V8引擎,同样说明Kraken有严重bug?因为浏览器可以作弊,提高测试成绩。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
32楼#
发布于:2011-04-13 18:43
Jack:照这么说,sunspider也有严重bug,浏览器可以作弊,提高测试成绩。2010年9月,mozilla开发者在blog里指出,IE9 Preview3在SunSpider的math-cordic测试中,至少比别的浏览器快10倍。但对代码做了少量改动后再测试,IE9 Preview3却不能保持同样的表现。
原文链接:
http://blog.mozilla.com/rob-sayre/2010/ ... losing-in/

大概一个多月前,TypeInference在Kraken速度测试上有过大幅上涨,超过了google的V8引擎,同样说明Kraken有严重bug?因为浏览器可以作弊,提高测试成绩。
回到原帖

所以太关注跑分成绩是会被骗的。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
无欢
火狐狸
火狐狸
  • UID8805
  • 注册日期2005-09-23
  • 最后登录2024-05-21
  • 发帖数143
  • 经验49枚
  • 威望0点
  • 贡献值12点
  • 好评度2点
  • 社区居民
33楼#
发布于:2011-04-13 18:43
太强了。。。
hanange
火狐狸
火狐狸
  • UID23154
  • 注册日期2008-03-07
  • 最后登录2012-12-18
  • 发帖数104
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
34楼#
发布于:2011-04-13 18:43
看来跑分不可全信,经常看到各种跑分。
kongou
火狐狸
火狐狸
  • UID12490
  • 注册日期2006-04-26
  • 最后登录2016-12-21
  • 发帖数235
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
35楼#
发布于:2011-04-13 18:43
还是多下功夫夫改善下页面浏览吧,卡得只能调低一级硬件加速开FF~
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
36楼#
发布于:2011-04-13 18:43
Jack
照这么说,sunspider也有严重bug,浏览器可以作弊,提高测试成绩。2010年9月,mozilla开发者在blog里指出,IE9 Preview3在SunSpider的math-cordic测试中,至少比别的浏览器快10倍。但对代码做了少量改动后再测试,IE9 Preview3却不能保持同样的表现。
原文链接:
http://blog.mozilla.com/rob-sayre/2010/ ... losing-in/

大概一个多月前,TypeInference在Kraken速度测试上有过大幅上涨,超过了google的V8引擎,同样说明Kraken有严重bug?因为浏览器可以作弊,提高测试成绩。
回到原帖

sunspider 测试,当时是说,有一段代码对测试结果不产生影响,所以IE对这部分代码做了优化,故意不执行这段代码,所以时间自然就少了。从这个角度来说,这个测试还算不上严重的bug,它只是希望大家都按它的流程来执行,没想到中间有捷径,有人走捷径了。至于V8,不知道它是怎么测试的,三个测试中,V8的成绩最不稳定,上下波动比较大。从昨天那个有问题的Firefox版本来看,V8的问题,显然和sunspider不同。我怀疑它根本就是执行一段代码,没有验证机制(没有验证最后的结果对不对),只是算执行代码的时间。所以Firefox出错了,直接跳过它的代码,时间自然是非常非常的快,成绩才会那么夸张。打个比方,同样是考试,正常的考试,是要在规定的时间内完成,最后还要看每道题做的是否正确。但是如果只看时间,而不管做的是否正确,这样的考试有用么?
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
37楼#
发布于:2011-04-13 18:43
hanange:看来跑分不可全信,经常看到各种跑分。回到原帖

如果大家都不作弊,老老实实的跑分,那么看跑分成绩还是有用的。怕就怕大家为了成绩,不择手段,那才乱套了。就象目前的中国,当官的为了政绩、GDP(贪就先不说了),不管其它的,一些商贩只管赚钱,什么良心道德都不管,那才是可怕。
dedarla
小狐狸
小狐狸
  • UID35593
  • 注册日期2011-03-23
  • 最后登录2012-07-02
  • 发帖数45
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
38楼#
发布于:2011-04-13 18:43
GOLF-AT
如果大家都不作弊,老老实实的跑分,那么看跑分成绩还是有用的。怕就怕大家为了成绩,不择手段,那才乱套了。就象目前的中国,当官的为了政绩、GDP(贪就先不说了),不管其它的,一些商贩只管赚钱,什么良心道德都不管,那才是可怕。
回到原帖


哈哈,果然像你说的那样啊,我解除了鲁大师对机子CPU百分之五十的限制之后,最好成绩6.0,测试成绩就达到了227ms~~~
没想到cpu影响还挺大的啊~
平时为了安静就一直把机能都限制到50%以下了~
现在再看网页,发现都变快了唉,
我还以为速度只是跟浏览器自身和网速有关呢,没想到CPU影响这么大!!!
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
39楼#
发布于:2011-04-13 18:43
》我解除了鲁大师对机子CPU百分之五十的限制之后

你这玩得真前卫啊: 勒着脖子游泳
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
Jack
小狐狸
小狐狸
  • UID7249
  • 注册日期2005-07-12
  • 最后登录2011-04-15
  • 发帖数16
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
40楼#
发布于:2011-04-13 18:43
至于V8,不知道它是怎么测试的

对v8代码有什么疑问,可以直接查看JS源码呀,而且v8的每一项测试都在网页上写明了测试的目地和源码行数。

三个测试中,V8的成绩最不稳定,上下波动比较大。

v8的成绩不稳定,和浏览器的JS引擎有关,怪到v8 Benchmark头上就没道理了。可能v8的结果显示的是分数,而sunspider、kraken显示的是时间,才给人成绩不稳的印象?
arewefastyet上的成绩都用时间显示,从arewefastyet的测试结果看,无论是32位还是64位的Mac OS X下,v8成绩不稳定的只有Google Chrome的v8引擎,而别的浏览器,如safari和firefox的JS引擎,尤其firefox的不同JS引擎成绩有单独列出,TM、JM、TM+JM、及最新的TI,除少数情况外,在v8上的成绩都很稳定。

至于最后那个比喻,看不懂怎么得出之前那个结论。
原因:浏览器可以作弊,提高测试成绩。
结论:V8 benchmark 有严重的bug。


或者说在我个人看来,这结论适用于所有的benchmark。因为某个benchmark的测试过程可以作弊,提高测试成绩,所以此benchmark有严重的bug。
dedarla
小狐狸
小狐狸
  • UID35593
  • 注册日期2011-03-23
  • 最后登录2012-07-02
  • 发帖数45
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
41楼#
发布于:2011-04-13 18:43
kmc:》我解除了鲁大师对机子CPU百分之五十的限制之后

你这玩得真前卫啊: 勒着脖子游泳
回到原帖


没办法啊,斑竹兄,做过火车之后,怀疑本本在行李箱里被“震”了。。。

CPU一狂涨硬盘灯就灭(彻底死机),
不得不借用那个东西抑制CPU在50%以下,

要不我就崩溃了。。。。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
42楼#
发布于:2011-04-13 18:43
有人说让看代码,我还就真的去看了一下。我自己就是写程序的,虽然不是用 javascript 写程序,但是一般的 javascript 代码还是看得懂的。代码好多,不可能全部看,我只看了一小部分。base.js 中,它自己写了一个函数 Math.random 来代替 javascript 中的函数 Math.random:
Math.random = (function() {
  var seed = 49734321;
  return function() {
    // Robert Jenkins' 32 bit integer hash function.
    seed = ((seed + 0x7ed55d16) + (seed << 12))  & 0xffffffff;
    seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff;
    seed = ((seed + 0x165667b1) + (seed << 5))   & 0xffffffff;
    seed = ((seed + 0xd3a2646c) ^ (seed << 9))   & 0xffffffff;
    seed = ((seed + 0xfd7046c5) + (seed << 3))   & 0xffffffff;
    seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff;
    return (seed & 0xfffffff) / 0x10000000;
  };
})();

对于这段代码,如果浏览器老老实实,就是按它的代码一行一行的执行,返回运算的结果。但由于这儿函数始终返回一个固定的数字,所以如果浏览器对它做所谓的优化,直接返回计算结果,那么就快很多,但是这样做就可以看作是作弊。为什么这样说,因为如果测试将这儿的代码改动任何一个字符,单纯就这个函数来说,浏览器就无法再做这样的优化,就只能老老实实的运行每一行代码。之前 Mozilla 指责 IE9 在 sunspider 上作弊,道理就和我现在说的类似。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
43楼#
发布于:2011-04-13 18:43
上面的 Math.random 函数,如果将 var seed = 49734321; 中的 49734321 改为当前的时间,那么每次运行得到的结果都不同,浏览器就不能对这个函数做“优化”了(不能直接返回结果)。
GOLF-AT
千年狐狸
千年狐狸
  • UID11611
  • 注册日期2006-02-20
  • 最后登录2019-12-30
  • 发帖数3239
  • 经验265枚
  • 威望1点
  • 贡献值260点
  • 好评度59点
  • 社区居民
  • 忠实会员
44楼#
发布于:2011-04-13 18:43
但如果更进一步,从全局来看,函数 Math.random 的目的,只是返回一个随机数。调用 Math.random 的地方,根本就不知道 Math.random 返回什么数,不存在验证。所以,从这个层面上说,浏览器还是可以做所谓的优化,无论这儿的 Math.random 代码怎么写,浏览器都可以直接返回任意一个数字(不需要执行 Math.random 中的任何代码),但是测试代码根本就不知道浏览器是直接返回了一个结果,还是真的执行了每一行代码。所以如果我是Firefox的开发者,就可以针对 V8 测试做这样的“优化”,提高它的测试成绩。
游客

返回顶部