diff options
author | cmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-27 00:23:33 +0000 |
---|---|---|
committer | cmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-27 00:23:33 +0000 |
commit | 2cae5778f0831987e7b2c1bd5c5acbb9de7b65ea (patch) | |
tree | 44920fdce9e079df86e10f34e2f4204bf6ac67aa /tools/perf_expectations | |
parent | 0b08d552e7c5e8a99ed629c81b272f375d97d139 (diff) | |
download | chromium_src-2cae5778f0831987e7b2c1bd5c5acbb9de7b65ea.zip chromium_src-2cae5778f0831987e7b2c1bd5c5acbb9de7b65ea.tar.gz chromium_src-2cae5778f0831987e7b2c1bd5c5acbb9de7b65ea.tar.bz2 |
Support setting 'better' and using it in expectations.
BUG=96937
TBR=nsylvain@chromium.org
Review URL: http://codereview.chromium.org/8400009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107487 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/perf_expectations')
-rwxr-xr-x | tools/perf_expectations/make_expectations.py | 26 | ||||
-rw-r--r-- | tools/perf_expectations/perf_expectations.json | 4 |
2 files changed, 21 insertions, 9 deletions
diff --git a/tools/perf_expectations/make_expectations.py b/tools/perf_expectations/make_expectations.py index a560984..ea7e5d6 100755 --- a/tools/perf_expectations/make_expectations.py +++ b/tools/perf_expectations/make_expectations.py @@ -81,7 +81,7 @@ def GetRowData(data, key): if subkey in data[key]: rowdata.append('"%s": %s' % (subkey, data[key][subkey])) # Strings, like type, come next. - for subkey in ['type']: + for subkey in ['type', 'better']: if subkey in data[key]: rowdata.append('"%s": "%s"' % (subkey, data[key][subkey])) # Finally the main numbers come last. @@ -165,6 +165,7 @@ def Main(args): for key in perfkeys: value = perf[key] tolerance = value.get('tolerance', DEFAULT_TOLERANCE) + better = value.get('better', None) # Verify the checksum. original_checksum = value.get('sha1', '') @@ -276,21 +277,32 @@ def Main(args): regress = float(trace_values[tracename]['high']) improve = float(trace_values[tracename]['low']) - # At this point, regress > improve. If regress == improve, we adjust - # improve so it is just a little less than regress. I'm picking on improve - # so we keep the sizes assumptions in place for now. - if regress == improve: - improve = float(improve - abs(regress * 0.01)) + # So far we've assumed better is lower (regress > improve). If the actual + # values for regress and improve are equal, though, and better was not + # specified, alert the user so we don't let them create a new file with + # ambiguous rules. + if better == None and regress == improve: + OutputMessage('regress (%s) is equal to improve (%s), and "better" is ' + 'unspecified, please fix by setting "better": "lower" or ' + '"better": "higher" in this perf trace\'s expectation' % ( + regress, improve), verbose_message=False) + return 1 # If the existing values assume regressions are low deltas relative to # improvements, swap our regress and improve. This value must be a # scores-like result. if ('regress' in perf[key] and 'improve' in perf[key] and perf[key]['regress'] < perf[key]['improve']): + assert(better != 'lower') + better = 'higher' temp = regress regress = improve improve = temp - if regress < improve: + else: + assert(better != 'higher') + better = 'lower' + + if better == 'higher': regress = int(math.floor(regress - abs(regress*tolerance))) improve = int(math.ceil(improve + abs(improve*tolerance))) else: diff --git a/tools/perf_expectations/perf_expectations.json b/tools/perf_expectations/perf_expectations.json index 24291c6..5bde0b8 100644 --- a/tools/perf_expectations/perf_expectations.json +++ b/tools/perf_expectations/perf_expectations.json @@ -1,6 +1,6 @@ {"linux-release-64/sizes/chrome-bss/bss": {"reva": 105312, "revb": 105336, "type": "absolute", "improve": 595081, "regress": 657756, "sha1": "c1e34d47"}, "linux-release-64/sizes/chrome-data/data": {"reva": 91119, "revb": 91326, "type": "absolute", "improve": 2309480, "regress": 2557742, "sha1": "fd84a9d2"}, - "linux-release-64/sizes/chrome-si/initializers": {"reva": 107131, "revb": 107134, "type": "absolute", "improve": 290, "regress": 293, "tolerance": 0, "sha1": "2d95f23c"}, + "linux-release-64/sizes/chrome-si/initializers": {"reva": 107131, "revb": 107134, "type": "absolute", "better": "lower", "improve": 293, "regress": 293, "tolerance": 0, "sha1": "0e693f17"}, "linux-release-64/sizes/chrome-text/text": {"reva": 104463, "revb": 104463, "type": "absolute", "improve": 60823945, "regress": 67905522, "sha1": "6887f46b"}, "linux-release-64/sizes/chrome.pak/chrome.pak": {"reva": 93584, "revb": 93660, "type": "absolute", "improve": 2893618, "regress": 3230516, "sha1": "ddcb764c"}, "linux-release-64/sizes/chrome/chrome": {"reva": 99734, "revb": 100028, "type": "absolute", "improve": 78759552, "regress": 87104926, "sha1": "48bce0e1"}, @@ -48,7 +48,7 @@ "linux-release/moz/times/t": {"reva": 99393, "revb": 100034, "improve": -40, "regress": 172, "sha1": "2cf4039f"}, "linux-release/sizes/chrome-bss/bss": {"reva": 105307, "revb": 105336, "type": "absolute", "improve": 362825, "regress": 401052, "sha1": "ac6bb167"}, "linux-release/sizes/chrome-data/data": {"reva": 98413, "revb": 98423, "type": "absolute", "improve": 1187520, "regress": 1325781, "sha1": "6c95adae"}, - "linux-release/sizes/chrome-si/initializers": {"reva": 107131, "revb": 107134, "type": "absolute", "improve": 293, "regress": 296, "tolerance": 0, "sha1": "3af6c71e"}, + "linux-release/sizes/chrome-si/initializers": {"reva": 107131, "revb": 107134, "type": "absolute", "better": "lower", "improve": 296, "regress": 296, "tolerance": 0, "sha1": "38e78ff9"}, "linux-release/sizes/chrome-text/text": {"reva": 91010, "revb": 101959, "type": "absolute", "improve": 50917816, "regress": 59260180, "sha1": "d50aeb06"}, "linux-release/sizes/chrome.pak/chrome.pak": {"reva": 93584, "revb": 93660, "type": "absolute", "improve": 2893618, "regress": 3230516, "sha1": "d1047e17"}, "linux-release/sizes/chrome/chrome": {"reva": 99734, "revb": 100028, "type": "absolute", "improve": 68631100, "regress": 75912682, "sha1": "62b2e7be"}, |