blob: ed2307db8d93a9588e7ecf37919cc59a2ecac5d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
import time
LGT = 100
unicodes = [unicode("u" * LGT + str(i)) for i in range(100)]
non_ascii_unicodes = [u"u" * LGT + unicode(i) + u"å" for i in range(100)]
long_string = u" " * 1000000
unicodes = [long_string] * 100
RANGE = 250000000 // LGT
def upper(main_l):
l = [None] * 1000
for i in xrange(RANGE):
l[i % 1000] = main_l[i % 100].upper()
def lower(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100].lower()
def islower(main_l):
l = [None]
for i in xrange(RANGE * 3):
l[0] = main_l[i % 100].islower()
def title(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100].title()
def add(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100] + u"foo"
def find(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100].find(u"foo")
def split(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100].split()
def splitlines(main_l):
l = [None]
for i in xrange(RANGE):
l[0] = main_l[i % 100].splitlines()
def iter(main_l):
l = [None]
for i in xrange(RANGE // 10000):
for elem in main_l[i % 100]:
l[0] = elem
def indexing(main_l):
l = [None]
for i in xrange(RANGE * 10):
l[0] = main_l[i % 100][13]
def isspace(main_l):
l = [None]
for i in xrange(RANGE // 10000):
l[0] = main_l[i % 100].isspace()
for func in [isspace]:#, lower, isupper, islower]:
t0 = time.time()
func(unicodes)
t1 = time.time()
print "ascii %s %.2f" % (func.__name__, t1 - t0)
#func(non_ascii_unicodes)
#t2 = time.time()
#print "non-ascii %s %.2f" % (func.__name__, t2 - t1)
|