summaryrefslogtreecommitdiffstats
path: root/tools/perf_expectations
diff options
context:
space:
mode:
authorcmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-27 00:23:33 +0000
committercmp@chromium.org <cmp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-27 00:23:33 +0000
commit2cae5778f0831987e7b2c1bd5c5acbb9de7b65ea (patch)
tree44920fdce9e079df86e10f34e2f4204bf6ac67aa /tools/perf_expectations
parent0b08d552e7c5e8a99ed629c81b272f375d97d139 (diff)
downloadchromium_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-xtools/perf_expectations/make_expectations.py26
-rw-r--r--tools/perf_expectations/perf_expectations.json4
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"},