From c6dc5cf9e77a5f2480598a3072ed88ba53065c93 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 13 Sep 2016 11:41:41 +0200 Subject: Remove pybench microbenchmark Issue #15369. Please use the new "performance" benchmark suite. --- Tools/pybench/Strings.py | 568 ----------------------------------------------- 1 file changed, 568 deletions(-) delete mode 100644 Tools/pybench/Strings.py (limited to 'Tools/pybench/Strings.py') diff --git a/Tools/pybench/Strings.py b/Tools/pybench/Strings.py deleted file mode 100644 index 8e3d702a91..0000000000 --- a/Tools/pybench/Strings.py +++ /dev/null @@ -1,568 +0,0 @@ -from pybench import Test -import sys - -try: - intern -except NameError: - intern = sys.intern - - -class ConcatStrings(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 100000 - - def test(self): - - # Make sure the strings are *not* interned - s = ''.join(map(str,range(100))) - t = ''.join(map(str,range(1,101))) - - for i in range(self.rounds): - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - t + s - t + s - t + s - t + s - t + s - - def calibrate(self): - - s = ''.join(map(str,range(100))) - t = ''.join(map(str,range(1,101))) - - for i in range(self.rounds): - pass - - -class CompareStrings(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 200000 - - def test(self): - - # Make sure the strings are *not* interned - s = ''.join(map(str,range(10))) - t = ''.join(map(str,range(10))) + "abc" - - for i in range(self.rounds): - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - t < s - t > s - t == s - t > s - t < s - - def calibrate(self): - - s = ''.join(map(str,range(10))) - t = ''.join(map(str,range(10))) + "abc" - - for i in range(self.rounds): - pass - - -class CompareInternedStrings(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 300000 - - def test(self): - - # Make sure the strings *are* interned - s = intern(''.join(map(str,range(10)))) - t = s - - for i in range(self.rounds): - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - t == s - t == s - t >= s - t > s - t < s - - def calibrate(self): - - s = intern(''.join(map(str,range(10)))) - t = s - - for i in range(self.rounds): - pass - - -class CreateStringsWithConcat(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 200000 - - def test(self): - - for i in range(self.rounds): - s = 'om' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - s = s + 'xax' - s = s + 'xbx' - s = s + 'xcx' - s = s + 'xdx' - s = s + 'xex' - - def calibrate(self): - - for i in range(self.rounds): - pass - - -class StringSlicing(Test): - - version = 2.0 - operations = 5 * 7 - rounds = 160000 - - def test(self): - - s = ''.join(map(str,range(100))) - - for i in range(self.rounds): - - s[50:] - s[:25] - s[50:55] - s[-1:] - s[:1] - s[2:] - s[11:-11] - - s[50:] - s[:25] - s[50:55] - s[-1:] - s[:1] - s[2:] - s[11:-11] - - s[50:] - s[:25] - s[50:55] - s[-1:] - s[:1] - s[2:] - s[11:-11] - - s[50:] - s[:25] - s[50:55] - s[-1:] - s[:1] - s[2:] - s[11:-11] - - s[50:] - s[:25] - s[50:55] - s[-1:] - s[:1] - s[2:] - s[11:-11] - - def calibrate(self): - - s = ''.join(map(str,range(100))) - - for i in range(self.rounds): - pass - -### String methods - -if hasattr('', 'lower'): - - class StringMappings(Test): - - version = 2.0 - operations = 3 * (5 + 4 + 2 + 1) - rounds = 70000 - - def test(self): - - s = ''.join(map(chr,range(20))) - t = ''.join(map(chr,range(50))) - u = ''.join(map(chr,range(100))) - v = ''.join(map(chr,range(256))) - - for i in range(self.rounds): - - s.lower() - s.lower() - s.lower() - s.lower() - s.lower() - - s.upper() - s.upper() - s.upper() - s.upper() - s.upper() - - s.title() - s.title() - s.title() - s.title() - s.title() - - t.lower() - t.lower() - t.lower() - t.lower() - - t.upper() - t.upper() - t.upper() - t.upper() - - t.title() - t.title() - t.title() - t.title() - - u.lower() - u.lower() - - u.upper() - u.upper() - - u.title() - u.title() - - v.lower() - - v.upper() - - v.title() - - def calibrate(self): - - s = ''.join(map(chr,range(20))) - t = ''.join(map(chr,range(50))) - u = ''.join(map(chr,range(100))) - v = ''.join(map(chr,range(256))) - - for i in range(self.rounds): - pass - - class StringPredicates(Test): - - version = 2.0 - operations = 10 * 7 - rounds = 100000 - - def test(self): - - data = ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10) - len_data = len(data) - - for i in range(self.rounds): - s = data[i % len_data] - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdigit() - s.islower() - s.isspace() - s.istitle() - s.isupper() - - def calibrate(self): - - data = ('abc', '123', ' ', '\u1234\u2345\u3456', '\uFFFF'*10) - data = ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10) - len_data = len(data) - - for i in range(self.rounds): - s = data[i % len_data] -- cgit v1.2.1