diff options
Diffstat (limited to 'Tools/pybench/pybench-2.0/Unicode.py')
-rw-r--r-- | Tools/pybench/pybench-2.0/Unicode.py | 542 |
1 files changed, 0 insertions, 542 deletions
diff --git a/Tools/pybench/pybench-2.0/Unicode.py b/Tools/pybench/pybench-2.0/Unicode.py deleted file mode 100644 index 153a91e..0000000 --- a/Tools/pybench/pybench-2.0/Unicode.py +++ /dev/null @@ -1,542 +0,0 @@ -try: - unicode -except NameError: - raise ImportError - -from pybench import Test -from string import join - -class ConcatUnicode(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 60000 - - def test(self): - - # Make sure the strings are *not* interned - s = unicode(join(map(str,range(100)))) - t = unicode(join(map(str,range(1,101)))) - - for i in xrange(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 = unicode(join(map(str,range(100)))) - t = unicode(join(map(str,range(1,101)))) - - for i in xrange(self.rounds): - pass - - -class CompareUnicode(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 150000 - - def test(self): - - # Make sure the strings are *not* interned - s = unicode(join(map(str,range(10)))) - t = unicode(join(map(str,range(10))) + "abc") - - for i in xrange(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 = unicode(join(map(str,range(10)))) - t = unicode(join(map(str,range(10))) + "abc") - - for i in xrange(self.rounds): - pass - - -class CreateUnicodeWithConcat(Test): - - version = 2.0 - operations = 10 * 5 - rounds = 80000 - - def test(self): - - for i in xrange(self.rounds): - s = u'om' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - s = s + u'xax' - s = s + u'xbx' - s = s + u'xcx' - s = s + u'xdx' - s = s + u'xex' - - def calibrate(self): - - for i in xrange(self.rounds): - pass - - -class UnicodeSlicing(Test): - - version = 2.0 - operations = 5 * 7 - rounds = 140000 - - def test(self): - - s = unicode(join(map(str,range(100)))) - - for i in xrange(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 = unicode(join(map(str,range(100)))) - - for i in xrange(self.rounds): - pass - -### String methods - -class UnicodeMappings(Test): - - version = 2.0 - operations = 3 * (5 + 4 + 2 + 1) - rounds = 10000 - - def test(self): - - s = join(map(unichr,range(20)),'') - t = join(map(unichr,range(100)),'') - u = join(map(unichr,range(500)),'') - v = join(map(unichr,range(1000)),'') - - for i in xrange(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(unichr,range(20)),'') - t = join(map(unichr,range(100)),'') - u = join(map(unichr,range(500)),'') - v = join(map(unichr,range(1000)),'') - - for i in xrange(self.rounds): - pass - -class UnicodePredicates(Test): - - version = 2.0 - operations = 5 * 9 - rounds = 120000 - - def test(self): - - data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10) - len_data = len(data) - - for i in xrange(self.rounds): - s = data[i % len_data] - - s.isalnum() - s.isalpha() - s.isdecimal() - s.isdigit() - s.islower() - s.isnumeric() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdecimal() - s.isdigit() - s.islower() - s.isnumeric() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdecimal() - s.isdigit() - s.islower() - s.isnumeric() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdecimal() - s.isdigit() - s.islower() - s.isnumeric() - s.isspace() - s.istitle() - s.isupper() - - s.isalnum() - s.isalpha() - s.isdecimal() - s.isdigit() - s.islower() - s.isnumeric() - s.isspace() - s.istitle() - s.isupper() - - def calibrate(self): - - data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10) - len_data = len(data) - - for i in xrange(self.rounds): - s = data[i % len_data] - -try: - import unicodedata -except ImportError: - pass -else: - class UnicodeProperties(Test): - - version = 2.0 - operations = 5 * 8 - rounds = 100000 - - def test(self): - - data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF') - len_data = len(data) - digit = unicodedata.digit - numeric = unicodedata.numeric - decimal = unicodedata.decimal - category = unicodedata.category - bidirectional = unicodedata.bidirectional - decomposition = unicodedata.decomposition - mirrored = unicodedata.mirrored - combining = unicodedata.combining - - for i in xrange(self.rounds): - - c = data[i % len_data] - - digit(c, None) - numeric(c, None) - decimal(c, None) - category(c) - bidirectional(c) - decomposition(c) - mirrored(c) - combining(c) - - digit(c, None) - numeric(c, None) - decimal(c, None) - category(c) - bidirectional(c) - decomposition(c) - mirrored(c) - combining(c) - - digit(c, None) - numeric(c, None) - decimal(c, None) - category(c) - bidirectional(c) - decomposition(c) - mirrored(c) - combining(c) - - digit(c, None) - numeric(c, None) - decimal(c, None) - category(c) - bidirectional(c) - decomposition(c) - mirrored(c) - combining(c) - - digit(c, None) - numeric(c, None) - decimal(c, None) - category(c) - bidirectional(c) - decomposition(c) - mirrored(c) - combining(c) - - def calibrate(self): - - data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF') - len_data = len(data) - digit = unicodedata.digit - numeric = unicodedata.numeric - decimal = unicodedata.decimal - category = unicodedata.category - bidirectional = unicodedata.bidirectional - decomposition = unicodedata.decomposition - mirrored = unicodedata.mirrored - combining = unicodedata.combining - - for i in xrange(self.rounds): - - c = data[i % len_data] |