6
from pybench import Test
8
class ConcatUnicode(Test):
16
# Make sure the strings are *not* interned
17
s = unicode(u''.join(map(str,range(100))))
18
t = unicode(u''.join(map(str,range(1,101))))
20
for i in range(self.rounds):
83
s = unicode(u''.join(map(str,range(100))))
84
t = unicode(u''.join(map(str,range(1,101))))
86
for i in range(self.rounds):
90
class CompareUnicode(Test):
98
# Make sure the strings are *not* interned
99
s = unicode(u''.join(map(str,range(10))))
100
t = unicode(u''.join(map(str,range(10))) + "abc")
102
for i in range(self.rounds):
165
s = unicode(u''.join(map(str,range(10))))
166
t = unicode(u''.join(map(str,range(10))) + "abc")
168
for i in range(self.rounds):
172
class CreateUnicodeWithConcat(Test):
180
for i in range(self.rounds):
243
for i in range(self.rounds):
247
class UnicodeSlicing(Test):
255
s = unicode(u''.join(map(str,range(100))))
257
for i in range(self.rounds):
301
s = unicode(u''.join(map(str,range(100))))
303
for i in range(self.rounds):
308
class UnicodeMappings(Test):
311
operations = 3 * (5 + 4 + 2 + 1)
316
s = u''.join(map(unichr,range(20)))
317
t = u''.join(map(unichr,range(100)))
318
u = u''.join(map(unichr,range(500)))
319
v = u''.join(map(unichr,range(1000)))
321
for i in range(self.rounds):
373
s = u''.join(map(unichr,range(20)))
374
t = u''.join(map(unichr,range(100)))
375
u = u''.join(map(unichr,range(500)))
376
v = u''.join(map(unichr,range(1000)))
378
for i in range(self.rounds):
381
class UnicodePredicates(Test):
389
data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10)
392
for i in range(self.rounds):
393
s = data[i % len_data]
447
data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10)
450
for i in range(self.rounds):
451
s = data[i % len_data]
458
class UnicodeProperties(Test):
466
data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF')
468
digit = unicodedata.digit
469
numeric = unicodedata.numeric
470
decimal = unicodedata.decimal
471
category = unicodedata.category
472
bidirectional = unicodedata.bidirectional
473
decomposition = unicodedata.decomposition
474
mirrored = unicodedata.mirrored
475
combining = unicodedata.combining
477
for i in range(self.rounds):
479
c = data[i % len_data]
528
data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF')
530
digit = unicodedata.digit
531
numeric = unicodedata.numeric
532
decimal = unicodedata.decimal
533
category = unicodedata.category
534
bidirectional = unicodedata.bidirectional
535
decomposition = unicodedata.decomposition
536
mirrored = unicodedata.mirrored
537
combining = unicodedata.combining
539
for i in range(self.rounds):
541
c = data[i % len_data]