Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Side by Side Diff: tools/run_perf.py

Issue 764013002: Make resources config ready for android test runner. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tools/unittests/run_perf_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 the V8 project authors. All rights reserved. 2 # Copyright 2014 the V8 project authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """ 6 """
7 Performance runner for d8. 7 Performance runner for d8.
8 8
9 Call e.g. with tools/run-perf.py --arch ia32 some_suite.json 9 Call e.g. with tools/run-perf.py --arch ia32 some_suite.json
10 10
11 The suite json format is expected to be: 11 The suite json format is expected to be:
12 { 12 {
13 "path": <relative path chunks to perf resources and main file>, 13 "path": <relative path chunks to perf resources and main file>,
14 "name": <optional suite name, file name is default>, 14 "name": <optional suite name, file name is default>,
15 "archs": [<architecture name for which this suite is run>, ...], 15 "archs": [<architecture name for which this suite is run>, ...],
16 "binary": <name of binary to run, default "d8">, 16 "binary": <name of binary to run, default "d8">,
17 "flags": [<flag to d8>, ...], 17 "flags": [<flag to d8>, ...],
18 "test_flags": [<flag to the test file>, ...], 18 "test_flags": [<flag to the test file>, ...],
19 "run_count": <how often will this suite run (optional)>, 19 "run_count": <how often will this suite run (optional)>,
20 "run_count_XXX": <how often will this suite run for arch XXX (optional)>, 20 "run_count_XXX": <how often will this suite run for arch XXX (optional)>,
21 "resources": [<js file to be loaded before main>, ...] 21 "resources": [<js file to be moved to android device>, ...]
22 "main": <main js perf runner file>, 22 "main": <main js perf runner file>,
23 "results_regexp": <optional regexp>, 23 "results_regexp": <optional regexp>,
24 "results_processor": <optional python results processor script>, 24 "results_processor": <optional python results processor script>,
25 "units": <the unit specification for the performance dashboard>, 25 "units": <the unit specification for the performance dashboard>,
26 "tests": [ 26 "tests": [
27 { 27 {
28 "name": <name of the trace>, 28 "name": <name of the trace>,
29 "results_regexp": <optional more specific regexp>, 29 "results_regexp": <optional more specific regexp>,
30 "results_processor": <optional python results processor script>, 30 "results_processor": <optional python results processor script>,
31 "units": <the unit specification for the performance dashboard>, 31 "units": <the unit specification for the performance dashboard>,
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 suite_dir = os.path.abspath(os.path.dirname(suite_path)) 286 suite_dir = os.path.abspath(os.path.dirname(suite_path))
287 bench_dir = os.path.normpath(os.path.join(*self.path)) 287 bench_dir = os.path.normpath(os.path.join(*self.path))
288 os.chdir(os.path.join(suite_dir, bench_dir)) 288 os.chdir(os.path.join(suite_dir, bench_dir))
289 289
290 def GetCommand(self, shell_dir): 290 def GetCommand(self, shell_dir):
291 # TODO(machenbach): This requires +.exe if run on windows. 291 # TODO(machenbach): This requires +.exe if run on windows.
292 suffix = ["--"] + self.test_flags if self.test_flags else [] 292 suffix = ["--"] + self.test_flags if self.test_flags else []
293 return ( 293 return (
294 [os.path.join(shell_dir, self.binary)] + 294 [os.path.join(shell_dir, self.binary)] +
295 self.flags + 295 self.flags +
296 self.resources +
297 [self.main] + 296 [self.main] +
298 suffix 297 suffix
299 ) 298 )
300 299
301 def Run(self, runner): 300 def Run(self, runner):
302 """Iterates over several runs and handles the output for all traces.""" 301 """Iterates over several runs and handles the output for all traces."""
303 for stdout in runner(): 302 for stdout in runner():
304 for trace in self._children: 303 for trace in self._children:
305 trace.ConsumeOutput(stdout) 304 trace.ConsumeOutput(stdout)
306 res = reduce(lambda r, t: r + t.GetResults(), self._children, Results()) 305 res = reduce(lambda r, t: r + t.GetResults(), self._children, Results())
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 507
509 if options.json_test_results: 508 if options.json_test_results:
510 results.WriteToFile(options.json_test_results) 509 results.WriteToFile(options.json_test_results)
511 else: # pragma: no cover 510 else: # pragma: no cover
512 print results 511 print results
513 512
514 return min(1, len(results.errors)) 513 return min(1, len(results.errors))
515 514
516 if __name__ == "__main__": # pragma: no cover 515 if __name__ == "__main__": # pragma: no cover
517 sys.exit(Main(sys.argv[1:])) 516 sys.exit(Main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | tools/unittests/run_perf_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698