<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jul 4, 2009, at 1:06 PM, Peter Kasting wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">On Sat, Jul 4, 2009 at 11:47 AM, Mike Belshe <span dir="ltr">&lt;<a href="mailto:mike@belshe.com">mike@belshe.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><div>#3: The SunSpider harness has a variance problem due to CPU power savings modes.</div></span></blockquote><div><br></div><div>This one worries me because it decreases the consistency/reproducibility of test scores and makes it harder to compare engines or to track one engine's scores over time. &nbsp;For example, doing a bunch of CPU work just before running the benchmark can affect whether and when the CPU throttles down during the benchmark run.</div> <div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><div></div><div>Possible solution:</div> <div>The dromaeo test suite already incorporates the SunSpider individual tests under a new benchmark harness which fixes all 3 of the above issues. &nbsp; Thus, one approach would be to retire SunSpider 0.9 in favor of Dromaeo. &nbsp;&nbsp;<a href="http://dromaeo.com/?sunspider" style="color:rgb(42, 93, 176)" target="_blank">http://dromaeo.com/?sunspider</a>&nbsp;&nbsp;Dromaeo has also done a lot of good work to ensure statistical significance of the results. &nbsp;Once we have a better benchmarking framework, it would be great to build a new microbenchmark mix which more realistically exercises today's JavaScript.</div> <div><span class="Apple-style-span" style="border-collapse: separate; font-size: small;"><span class="Apple-style-span" style="border-collapse: collapse;"></span></span></div></span></blockquote><div><br></div><div>One complaint I have heard about the Dromaeo tests (not the harness) is that the actual JS that gets run differs from browser to browser (e.g. because it is a direct copy of a source library that does UA sniffing). &nbsp;If this is true it means that this suite as-is isn't useful to compare engines to each other.</div> <div><br></div><div>However, the Dromaeo _harness_ is probably a win as-is.</div><div><br></div><div>Of&nbsp;course,&nbsp;changing&nbsp;anything&nbsp;about&nbsp;Sunspider&nbsp;raises&nbsp;the&nbsp;question&nbsp;of&nbsp;tracking&nbsp;historical&nbsp;performance.&nbsp;&nbsp;Perhaps&nbsp;the&nbsp;harness&nbsp;could&nbsp;support&nbsp;versioning,&nbsp;or&nbsp;perhaps&nbsp;people&nbsp;are&nbsp;simply&nbsp;willing&nbsp;to&nbsp;say&nbsp;"Sunspider 1.0 scores cannot be compared to Sunspider 0.9 scores". &nbsp;I believe this is the approach the V8 benchmark takes.</div> </div></blockquote></div><br><div>I think versioning the test content is right, and I think we should do that over time. I think a harness change to avoid triggering powersaving mode on Windows would be a reasonable thing to do to the harness without a version change. I don't think Dromaeo is a good choice of harness - I don't think their results are stable enough and I am not confident in the statistical soundness of their methodology.</div><div><br></div><div>Regards,</div><div>Maciej</div><div><br></div></body></html>