From 24a592c2ef586eaffefab068fdf94c284ae80e57 Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 28 Oct 2015 09:45:44 -0700 Subject: Make bin/c and bin/compare work on Windows. - Call python explicitly. - Drop numpy dependency (on numpy.mean.... come on.) - Make scipy dependency optional. Depends on https://codereview.chromium.org/1419073003 to really work. BUG=skia: Doesn't change code. NOTRY=true Review URL: https://codereview.chromium.org/1416833004 --- bin/c | 6 +++--- bin/compare | 25 +++++++++++++++---------- 2 files changed, 18 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/c b/bin/c index 6e3bd6e185..fca46d40f6 100755 --- a/bin/c +++ b/bin/c @@ -13,14 +13,14 @@ fi if [ ! -f $CLEAN.log ]; then git checkout $CLEAN - ./gyp_skia >/dev/null + python gyp_skia >/dev/null ninja -C out/Release nanobench out/Release/nanobench $@ --samples $SAMPLES -v 2> $CLEAN.log fi git checkout $BRANCH -./gyp_skia >/dev/null +python gyp_skia >/dev/null ninja -C out/Release nanobench out/Release/nanobench $@ --samples $SAMPLES -v 2> $BRANCH.log -./bin/compare $CLEAN.log $BRANCH.log +python bin/compare $CLEAN.log $BRANCH.log diff --git a/bin/compare b/bin/compare index 82f85d5fd9..95d4100e95 100755 --- a/bin/compare +++ b/bin/compare @@ -1,10 +1,13 @@ #!/usr/bin/env python import argparse -import numpy import sys -from scipy.stats import mannwhitneyu -from scipy.stats import sem + +have_scipy = True +try: + import scipy.stats +except: + have_scipy = False SIGNIFICANCE_THRESHOLD = 0.0001 @@ -32,15 +35,17 @@ for (path, d) in [(args.baseline, a), (args.experiment, b)]: common = set(a.keys()).intersection(b.keys()) +def mean(xs): + return sum(xs) / len(xs) + ps = [] for key in common: - _, p = mannwhitneyu(a[key], b[key]) # Non-parametric t-test. Doesn't assume normal dist. - if args.use_means: - am, bm = numpy.mean(a[key]), numpy.mean(b[key]) - asem, bsem = sem(a[key]), sem(b[key]) - else: - am, bm = min(a[key]), min(b[key]) - asem, bsem = 0, 0 + p, asem, bsem = 0, 0, 0 + m = mean if args.use_means else min + am, bm = m(a[key]), m(b[key]) + if have_scipy: + _, p = scipy.stats.mannwhitneyu(a[key], b[key]) + asem, bsem = scipy.stats.sem(a[key]), sem(b[key]) ps.append((bm/am, p, key, am, bm, asem, bsem)) ps.sort(reverse=True) -- cgit v1.2.3