From 845bd546d42afe4e701fc05ad4b581c795b5370c Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 19 Nov 2016 08:57:43 -0500 Subject: This file was a performance test of sorts --HG-- rename : lab/bug397.py => perf/bug397.py --- lab/bug397.py | 56 -------------------------------------------------------- perf/bug397.py | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 56 deletions(-) delete mode 100644 lab/bug397.py create mode 100644 perf/bug397.py diff --git a/lab/bug397.py b/lab/bug397.py deleted file mode 100644 index 4d72e908..00000000 --- a/lab/bug397.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python -""" -Run this file two ways under coverage and see that the times are the same: - - $ coverage run lab/bug397.py slow - Runtime per example: 130.96 +/- 3.70 us - $ coverage run lab/bug397.py fast - Runtime per example: 131.34 +/- 4.48 us - -Written by David MacIver as part of -https://bitbucket.org/ned/coveragepy/issues/397/stopping-and-resuming-coverage-with - -""" -from __future__ import print_function - -import sys -import random -import time -import math - -if sys.argv[1] == "slow": - sys.settrace(sys.gettrace()) - -random.seed(1) - - -def hash_str(s): - h = 0 - for c in s: - h = (h * 31 + ord(c)) & (2 ** 64 - 1) - return h - -data = [ - hex(random.getrandbits(1024)) for _ in range(500) -] - -N_SAMPLES = 100 - - -def mean(xs): - xs = list(xs) - return sum(xs) / len(xs) - - -def sd(xs): - return math.sqrt(mean(x ** 2 for x in xs) - mean(xs) ** 2) - - -if __name__ == '__main__': - timing = [] - for _ in range(N_SAMPLES): - start = time.time() - for d in data: - hash_str(d) - timing.append(1000000 * (time.time() - start) / len(data)) - print("Runtime per example:", "%.2f +/- %.2f us" % (mean(timing), sd(timing))) diff --git a/perf/bug397.py b/perf/bug397.py new file mode 100644 index 00000000..4d72e908 --- /dev/null +++ b/perf/bug397.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +""" +Run this file two ways under coverage and see that the times are the same: + + $ coverage run lab/bug397.py slow + Runtime per example: 130.96 +/- 3.70 us + $ coverage run lab/bug397.py fast + Runtime per example: 131.34 +/- 4.48 us + +Written by David MacIver as part of +https://bitbucket.org/ned/coveragepy/issues/397/stopping-and-resuming-coverage-with + +""" +from __future__ import print_function + +import sys +import random +import time +import math + +if sys.argv[1] == "slow": + sys.settrace(sys.gettrace()) + +random.seed(1) + + +def hash_str(s): + h = 0 + for c in s: + h = (h * 31 + ord(c)) & (2 ** 64 - 1) + return h + +data = [ + hex(random.getrandbits(1024)) for _ in range(500) +] + +N_SAMPLES = 100 + + +def mean(xs): + xs = list(xs) + return sum(xs) / len(xs) + + +def sd(xs): + return math.sqrt(mean(x ** 2 for x in xs) - mean(xs) ** 2) + + +if __name__ == '__main__': + timing = [] + for _ in range(N_SAMPLES): + start = time.time() + for d in data: + hash_str(d) + timing.append(1000000 * (time.time() - start) / len(data)) + print("Runtime per example:", "%.2f +/- %.2f us" % (mean(timing), sd(timing))) -- cgit v1.2.1