Bug 67177 - JavaScriptCore does not have a good mechanism for performance regression testing
Summary: JavaScriptCore does not have a good mechanism for performance regression testing
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-29 20:57 PDT by Filip Pizlo
Modified: 2011-08-30 13:26 PDT (History)
4 users (show)

See Also:


Attachments
the patch (51.16 KB, patch)
2011-08-29 21:08 PDT, Filip Pizlo
darin: review+
Details | Formatted Diff | Diff
the patch (fix review) (51.16 KB, patch)
2011-08-30 12:45 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-08-29 20:57:28 PDT
Performance testing in JSC involves running some benchmark suites in browser or on the command-line.  In-browser tests are irreplaceable, since they give us the official results.  But we often use command-line benchmark results as a way of rapidly determining if a change affects performance the way we want (either progression or no change).  Command-line testing is meant to be convenient, but it often isn't, for the followiong reasons:

1) It's necessary to run benchmark suites separately.  There is one script for SunSpider, two sets of scripts for V8, and a totally separate script for Kraken.

2) It's necessary to execute three commands to compare VMs: one command to run benchmarks on one VM, another command to run benchmarks on another VM, and a third command (which involves copy-pasting text from the results of the previous two commands) to compare results.

3) The VMs are run entirely separately with no interleaving.  A slight change in behavior of the system (for example a change in network behavior, or some schedules system job) could systematically affect the results in favor of one VM or another.  This can be avoided with interleaving the VMs at fine granularity.  That way, systematic changes in system behavior are less likely to systematically affect results and conclusions.

It would be ideal if we had a script to automatically compare two (or more) VMs on all benchmark suites at once, interleave VM execution, and print complete summary results.
Comment 1 Filip Pizlo 2011-08-29 21:08:29 PDT
Created attachment 105571 [details]
the patch
Comment 2 Darin Adler 2011-08-30 07:46:55 PDT
Comment on attachment 105571 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=105571&action=review

Seems OK to land this.

> Tools/Scripts/bencher:3
> +# Copyright (C) 2010 Apple Inc. All rights reserved.

It’s 2011
Comment 3 Filip Pizlo 2011-08-30 12:45:25 PDT
Created attachment 105670 [details]
the patch (fix review)
Comment 4 WebKit Review Bot 2011-08-30 13:25:58 PDT
Comment on attachment 105670 [details]
the patch (fix review)

Clearing flags on attachment: 105670

Committed r94103: <http://trac.webkit.org/changeset/94103>
Comment 5 WebKit Review Bot 2011-08-30 13:26:02 PDT
All reviewed patches have been landed.  Closing bug.