summaryrefslogtreecommitdiffstats
path: root/Tools/pybench/Strings.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/pybench/Strings.py')
-rw-r--r--Tools/pybench/Strings.py76
1 files changed, 41 insertions, 35 deletions
diff --git a/Tools/pybench/Strings.py b/Tools/pybench/Strings.py
index 3be8b35..8e3d702 100644
--- a/Tools/pybench/Strings.py
+++ b/Tools/pybench/Strings.py
@@ -1,5 +1,11 @@
from pybench import Test
-from string import join
+import sys
+
+try:
+ intern
+except NameError:
+ intern = sys.intern
+
class ConcatStrings(Test):
@@ -10,10 +16,10 @@ class ConcatStrings(Test):
def test(self):
# Make sure the strings are *not* interned
- s = join(map(str,range(100)))
- t = join(map(str,range(1,101)))
+ s = ''.join(map(str,range(100)))
+ t = ''.join(map(str,range(1,101)))
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
t + s
t + s
t + s
@@ -76,10 +82,10 @@ class ConcatStrings(Test):
def calibrate(self):
- s = join(map(str,range(100)))
- t = join(map(str,range(1,101)))
+ s = ''.join(map(str,range(100)))
+ t = ''.join(map(str,range(1,101)))
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
pass
@@ -92,10 +98,10 @@ class CompareStrings(Test):
def test(self):
# Make sure the strings are *not* interned
- s = join(map(str,range(10)))
- t = join(map(str,range(10))) + "abc"
+ s = ''.join(map(str,range(10)))
+ t = ''.join(map(str,range(10))) + "abc"
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
t < s
t > s
t == s
@@ -158,10 +164,10 @@ class CompareStrings(Test):
def calibrate(self):
- s = join(map(str,range(10)))
- t = join(map(str,range(10))) + "abc"
+ s = ''.join(map(str,range(10)))
+ t = ''.join(map(str,range(10))) + "abc"
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
pass
@@ -174,10 +180,10 @@ class CompareInternedStrings(Test):
def test(self):
# Make sure the strings *are* interned
- s = intern(join(map(str,range(10))))
+ s = intern(''.join(map(str,range(10))))
t = s
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
t == s
t == s
t >= s
@@ -240,10 +246,10 @@ class CompareInternedStrings(Test):
def calibrate(self):
- s = intern(join(map(str,range(10))))
+ s = intern(''.join(map(str,range(10))))
t = s
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
pass
@@ -255,7 +261,7 @@ class CreateStringsWithConcat(Test):
def test(self):
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
s = 'om'
s = s + 'xbx'
s = s + 'xcx'
@@ -318,7 +324,7 @@ class CreateStringsWithConcat(Test):
def calibrate(self):
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
pass
@@ -330,9 +336,9 @@ class StringSlicing(Test):
def test(self):
- s = join(map(str,range(100)))
+ s = ''.join(map(str,range(100)))
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
s[50:]
s[:25]
@@ -376,9 +382,9 @@ class StringSlicing(Test):
def calibrate(self):
- s = join(map(str,range(100)))
+ s = ''.join(map(str,range(100)))
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
pass
### String methods
@@ -393,12 +399,12 @@ if hasattr('', 'lower'):
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)),'')
+ 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 xrange(self.rounds):
+ for i in range(self.rounds):
s.lower()
s.lower()
@@ -450,12 +456,12 @@ if hasattr('', 'lower'):
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)),'')
+ 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 xrange(self.rounds):
+ for i in range(self.rounds):
pass
class StringPredicates(Test):
@@ -469,7 +475,7 @@ if hasattr('', 'lower'):
data = ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10)
len_data = len(data)
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
s = data[i % len_data]
s.isalnum()
@@ -558,5 +564,5 @@ if hasattr('', 'lower'):
data = ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10)
len_data = len(data)
- for i in xrange(self.rounds):
+ for i in range(self.rounds):
s = data[i % len_data]