aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/calmbench
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2017-10-16 12:24:43 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-16 17:33:40 +0000
commitc81aaaad0b1ea0cf77882a4b89adc5b9e58c05bb (patch)
tree600e0df9d03c67a2a52ae4c22f19848559aa4b46 /tools/calmbench
parentfa15877f487333bec876e7315cf584c0d598d098 (diff)
Try calmbench on bots
Bug: skia: Change-Id: I869776e3d9d47b4a1a11089f729a0b17581eb9f7 Reviewed-on: https://skia-review.googlesource.com/57400 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'tools/calmbench')
-rw-r--r--tools/calmbench/calmbench.py30
1 files changed, 26 insertions, 4 deletions
diff --git a/tools/calmbench/calmbench.py b/tools/calmbench/calmbench.py
index 4d1319de1a..827bf4f909 100644
--- a/tools/calmbench/calmbench.py
+++ b/tools/calmbench/calmbench.py
@@ -74,6 +74,9 @@ def parse_args():
'(i.e., reuse previous baseline measurements)')
noinit_help = (
'whether to skip initial nanobench runs (default: %(default)s)')
+ branch_help = (
+ "the test branch to benchmark; if it's 'modified', we'll benchmark the "
+ "current modified code against 'git stash'.")
definitions = [
# argname, type, default value, help
@@ -91,7 +94,7 @@ def parse_args():
for d in definitions:
parser.add_argument(d[0], type=d[1], default=d[2], help=d[3])
- parser.add_argument('branch', type=str, help="the test branch to benchmark")
+ parser.add_argument('branch', type=str, help=branch_help)
parser.add_argument('--no-compile', dest='no_compile', action="store_true",
help=no_compile_help)
parser.add_argument('--skip-base', dest='skipbase', action="store_true",
@@ -116,7 +119,6 @@ def nano_path(args, branch):
def compile_branch(args, branch):
print "Compiling branch %s" % args.branch
- os.chdir(args.skiadir)
commands = [
['git', 'checkout', branch],
['ninja', '-C', args.ninjadir, 'nanobench'],
@@ -126,9 +128,29 @@ def compile_branch(args, branch):
subprocess.check_call(command, cwd=args.skiadir)
+def compile_modified(args):
+ print "Compiling modified code"
+ subprocess.check_call(
+ ['ninja', '-C', args.ninjadir, 'nanobench'], cwd=args.skiadir)
+ subprocess.check_call(
+ ['cp', args.ninjadir + '/nanobench', nano_path(args, args.branch)],
+ cwd=args.skiadir)
+
+ print "Compiling stashed code"
+ subprocess.check_call(['git', 'stash'], cwd=args.skiadir)
+ subprocess.check_call(
+ ['ninja', '-C', args.ninjadir, 'nanobench'], cwd=args.skiadir)
+ subprocess.check_call(
+ ['cp', args.ninjadir + '/nanobench', nano_path(args, args.baseline)],
+ cwd=args.skiadir)
+ subprocess.check_call(['git', 'stash', 'pop'], cwd=args.skiadir)
+
def compile_nanobench(args):
- compile_branch(args, args.branch)
- compile_branch(args, args.baseline)
+ if args.branch == 'modified':
+ compile_modified(args)
+ else:
+ compile_branch(args, args.branch)
+ compile_branch(args, args.baseline)
def main():