1 from pybench
import Test
2 from string
import join
4 class ConcatStrings(Test
):
12 # Make sure the strings are *not* interned
13 s
= join(map(str,range(100)))
14 t
= join(map(str,range(1,101)))
16 for i
in xrange(self
.rounds
):
79 s
= join(map(str,range(100)))
80 t
= join(map(str,range(1,101)))
82 for i
in xrange(self
.rounds
):
86 class CompareStrings(Test
):
94 # Make sure the strings are *not* interned
95 s
= join(map(str,range(10)))
96 t
= join(map(str,range(10))) + "abc"
98 for i
in xrange(self
.rounds
):
161 s
= join(map(str,range(10)))
162 t
= join(map(str,range(10))) + "abc"
164 for i
in xrange(self
.rounds
):
168 class CompareInternedStrings(Test
):
176 # Make sure the strings *are* interned
177 s
= intern(join(map(str,range(10))))
180 for i
in xrange(self
.rounds
):
243 s
= intern(join(map(str,range(10))))
246 for i
in xrange(self
.rounds
):
250 class CreateStringsWithConcat(Test
):
258 for i
in xrange(self
.rounds
):
321 for i
in xrange(self
.rounds
):
325 class StringSlicing(Test
):
333 s
= join(map(str,range(100)))
335 for i
in xrange(self
.rounds
):
379 s
= join(map(str,range(100)))
381 for i
in xrange(self
.rounds
):
386 if hasattr('', 'lower'):
388 class StringMappings(Test
):
391 operations
= 3 * (5 + 4 + 2 + 1)
396 s
= join(map(chr,range(20)),'')
397 t
= join(map(chr,range(50)),'')
398 u
= join(map(chr,range(100)),'')
399 v
= join(map(chr,range(256)),'')
401 for i
in xrange(self
.rounds
):
453 s
= join(map(chr,range(20)),'')
454 t
= join(map(chr,range(50)),'')
455 u
= join(map(chr,range(100)),'')
456 v
= join(map(chr,range(256)),'')
458 for i
in xrange(self
.rounds
):
461 class StringPredicates(Test
):
469 data
= ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10)
472 for i
in xrange(self
.rounds
):
473 s
= data
[i
% len_data
]
557 data
= ('abc', '123', ' ', '\u1234\u2345\u3456', '\uFFFF'*10)
558 data
= ('abc', '123', ' ', '\xe4\xf6\xfc', '\xdf'*10)
561 for i
in xrange(self
.rounds
):
562 s
= data
[i
% len_data
]