ยปCore Development>Code coverage>Tools/pybench/Unicode.py

Python code coverage for Tools/pybench/Unicode.py

#countcontent
1n/atry:
2n/a unicode
3n/aexcept NameError:
4n/a raise ImportError
5n/a
6n/afrom pybench import Test
7n/a
8n/aclass ConcatUnicode(Test):
9n/a
10n/a version = 2.0
11n/a operations = 10 * 5
12n/a rounds = 60000
13n/a
14n/a def test(self):
15n/a
16n/a # Make sure the strings are *not* interned
17n/a s = unicode(u''.join(map(str,range(100))))
18n/a t = unicode(u''.join(map(str,range(1,101))))
19n/a
20n/a for i in range(self.rounds):
21n/a t + s
22n/a t + s
23n/a t + s
24n/a t + s
25n/a t + s
26n/a
27n/a t + s
28n/a t + s
29n/a t + s
30n/a t + s
31n/a t + s
32n/a
33n/a t + s
34n/a t + s
35n/a t + s
36n/a t + s
37n/a t + s
38n/a
39n/a t + s
40n/a t + s
41n/a t + s
42n/a t + s
43n/a t + s
44n/a
45n/a t + s
46n/a t + s
47n/a t + s
48n/a t + s
49n/a t + s
50n/a
51n/a t + s
52n/a t + s
53n/a t + s
54n/a t + s
55n/a t + s
56n/a
57n/a t + s
58n/a t + s
59n/a t + s
60n/a t + s
61n/a t + s
62n/a
63n/a t + s
64n/a t + s
65n/a t + s
66n/a t + s
67n/a t + s
68n/a
69n/a t + s
70n/a t + s
71n/a t + s
72n/a t + s
73n/a t + s
74n/a
75n/a t + s
76n/a t + s
77n/a t + s
78n/a t + s
79n/a t + s
80n/a
81n/a def calibrate(self):
82n/a
83n/a s = unicode(u''.join(map(str,range(100))))
84n/a t = unicode(u''.join(map(str,range(1,101))))
85n/a
86n/a for i in range(self.rounds):
87n/a pass
88n/a
89n/a
90n/aclass CompareUnicode(Test):
91n/a
92n/a version = 2.0
93n/a operations = 10 * 5
94n/a rounds = 150000
95n/a
96n/a def test(self):
97n/a
98n/a # Make sure the strings are *not* interned
99n/a s = unicode(u''.join(map(str,range(10))))
100n/a t = unicode(u''.join(map(str,range(10))) + "abc")
101n/a
102n/a for i in range(self.rounds):
103n/a t < s
104n/a t > s
105n/a t == s
106n/a t > s
107n/a t < s
108n/a
109n/a t < s
110n/a t > s
111n/a t == s
112n/a t > s
113n/a t < s
114n/a
115n/a t < s
116n/a t > s
117n/a t == s
118n/a t > s
119n/a t < s
120n/a
121n/a t < s
122n/a t > s
123n/a t == s
124n/a t > s
125n/a t < s
126n/a
127n/a t < s
128n/a t > s
129n/a t == s
130n/a t > s
131n/a t < s
132n/a
133n/a t < s
134n/a t > s
135n/a t == s
136n/a t > s
137n/a t < s
138n/a
139n/a t < s
140n/a t > s
141n/a t == s
142n/a t > s
143n/a t < s
144n/a
145n/a t < s
146n/a t > s
147n/a t == s
148n/a t > s
149n/a t < s
150n/a
151n/a t < s
152n/a t > s
153n/a t == s
154n/a t > s
155n/a t < s
156n/a
157n/a t < s
158n/a t > s
159n/a t == s
160n/a t > s
161n/a t < s
162n/a
163n/a def calibrate(self):
164n/a
165n/a s = unicode(u''.join(map(str,range(10))))
166n/a t = unicode(u''.join(map(str,range(10))) + "abc")
167n/a
168n/a for i in range(self.rounds):
169n/a pass
170n/a
171n/a
172n/aclass CreateUnicodeWithConcat(Test):
173n/a
174n/a version = 2.0
175n/a operations = 10 * 5
176n/a rounds = 80000
177n/a
178n/a def test(self):
179n/a
180n/a for i in range(self.rounds):
181n/a s = u'om'
182n/a s = s + u'xbx'
183n/a s = s + u'xcx'
184n/a s = s + u'xdx'
185n/a s = s + u'xex'
186n/a
187n/a s = s + u'xax'
188n/a s = s + u'xbx'
189n/a s = s + u'xcx'
190n/a s = s + u'xdx'
191n/a s = s + u'xex'
192n/a
193n/a s = s + u'xax'
194n/a s = s + u'xbx'
195n/a s = s + u'xcx'
196n/a s = s + u'xdx'
197n/a s = s + u'xex'
198n/a
199n/a s = s + u'xax'
200n/a s = s + u'xbx'
201n/a s = s + u'xcx'
202n/a s = s + u'xdx'
203n/a s = s + u'xex'
204n/a
205n/a s = s + u'xax'
206n/a s = s + u'xbx'
207n/a s = s + u'xcx'
208n/a s = s + u'xdx'
209n/a s = s + u'xex'
210n/a
211n/a s = s + u'xax'
212n/a s = s + u'xbx'
213n/a s = s + u'xcx'
214n/a s = s + u'xdx'
215n/a s = s + u'xex'
216n/a
217n/a s = s + u'xax'
218n/a s = s + u'xbx'
219n/a s = s + u'xcx'
220n/a s = s + u'xdx'
221n/a s = s + u'xex'
222n/a
223n/a s = s + u'xax'
224n/a s = s + u'xbx'
225n/a s = s + u'xcx'
226n/a s = s + u'xdx'
227n/a s = s + u'xex'
228n/a
229n/a s = s + u'xax'
230n/a s = s + u'xbx'
231n/a s = s + u'xcx'
232n/a s = s + u'xdx'
233n/a s = s + u'xex'
234n/a
235n/a s = s + u'xax'
236n/a s = s + u'xbx'
237n/a s = s + u'xcx'
238n/a s = s + u'xdx'
239n/a s = s + u'xex'
240n/a
241n/a def calibrate(self):
242n/a
243n/a for i in range(self.rounds):
244n/a pass
245n/a
246n/a
247n/aclass UnicodeSlicing(Test):
248n/a
249n/a version = 2.0
250n/a operations = 5 * 7
251n/a rounds = 140000
252n/a
253n/a def test(self):
254n/a
255n/a s = unicode(u''.join(map(str,range(100))))
256n/a
257n/a for i in range(self.rounds):
258n/a
259n/a s[50:]
260n/a s[:25]
261n/a s[50:55]
262n/a s[-1:]
263n/a s[:1]
264n/a s[2:]
265n/a s[11:-11]
266n/a
267n/a s[50:]
268n/a s[:25]
269n/a s[50:55]
270n/a s[-1:]
271n/a s[:1]
272n/a s[2:]
273n/a s[11:-11]
274n/a
275n/a s[50:]
276n/a s[:25]
277n/a s[50:55]
278n/a s[-1:]
279n/a s[:1]
280n/a s[2:]
281n/a s[11:-11]
282n/a
283n/a s[50:]
284n/a s[:25]
285n/a s[50:55]
286n/a s[-1:]
287n/a s[:1]
288n/a s[2:]
289n/a s[11:-11]
290n/a
291n/a s[50:]
292n/a s[:25]
293n/a s[50:55]
294n/a s[-1:]
295n/a s[:1]
296n/a s[2:]
297n/a s[11:-11]
298n/a
299n/a def calibrate(self):
300n/a
301n/a s = unicode(u''.join(map(str,range(100))))
302n/a
303n/a for i in range(self.rounds):
304n/a pass
305n/a
306n/a### String methods
307n/a
308n/aclass UnicodeMappings(Test):
309n/a
310n/a version = 2.0
311n/a operations = 3 * (5 + 4 + 2 + 1)
312n/a rounds = 10000
313n/a
314n/a def test(self):
315n/a
316n/a s = u''.join(map(unichr,range(20)))
317n/a t = u''.join(map(unichr,range(100)))
318n/a u = u''.join(map(unichr,range(500)))
319n/a v = u''.join(map(unichr,range(1000)))
320n/a
321n/a for i in range(self.rounds):
322n/a
323n/a s.lower()
324n/a s.lower()
325n/a s.lower()
326n/a s.lower()
327n/a s.lower()
328n/a
329n/a s.upper()
330n/a s.upper()
331n/a s.upper()
332n/a s.upper()
333n/a s.upper()
334n/a
335n/a s.title()
336n/a s.title()
337n/a s.title()
338n/a s.title()
339n/a s.title()
340n/a
341n/a t.lower()
342n/a t.lower()
343n/a t.lower()
344n/a t.lower()
345n/a
346n/a t.upper()
347n/a t.upper()
348n/a t.upper()
349n/a t.upper()
350n/a
351n/a t.title()
352n/a t.title()
353n/a t.title()
354n/a t.title()
355n/a
356n/a u.lower()
357n/a u.lower()
358n/a
359n/a u.upper()
360n/a u.upper()
361n/a
362n/a u.title()
363n/a u.title()
364n/a
365n/a v.lower()
366n/a
367n/a v.upper()
368n/a
369n/a v.title()
370n/a
371n/a def calibrate(self):
372n/a
373n/a s = u''.join(map(unichr,range(20)))
374n/a t = u''.join(map(unichr,range(100)))
375n/a u = u''.join(map(unichr,range(500)))
376n/a v = u''.join(map(unichr,range(1000)))
377n/a
378n/a for i in range(self.rounds):
379n/a pass
380n/a
381n/aclass UnicodePredicates(Test):
382n/a
383n/a version = 2.0
384n/a operations = 5 * 9
385n/a rounds = 120000
386n/a
387n/a def test(self):
388n/a
389n/a data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10)
390n/a len_data = len(data)
391n/a
392n/a for i in range(self.rounds):
393n/a s = data[i % len_data]
394n/a
395n/a s.isalnum()
396n/a s.isalpha()
397n/a s.isdecimal()
398n/a s.isdigit()
399n/a s.islower()
400n/a s.isnumeric()
401n/a s.isspace()
402n/a s.istitle()
403n/a s.isupper()
404n/a
405n/a s.isalnum()
406n/a s.isalpha()
407n/a s.isdecimal()
408n/a s.isdigit()
409n/a s.islower()
410n/a s.isnumeric()
411n/a s.isspace()
412n/a s.istitle()
413n/a s.isupper()
414n/a
415n/a s.isalnum()
416n/a s.isalpha()
417n/a s.isdecimal()
418n/a s.isdigit()
419n/a s.islower()
420n/a s.isnumeric()
421n/a s.isspace()
422n/a s.istitle()
423n/a s.isupper()
424n/a
425n/a s.isalnum()
426n/a s.isalpha()
427n/a s.isdecimal()
428n/a s.isdigit()
429n/a s.islower()
430n/a s.isnumeric()
431n/a s.isspace()
432n/a s.istitle()
433n/a s.isupper()
434n/a
435n/a s.isalnum()
436n/a s.isalpha()
437n/a s.isdecimal()
438n/a s.isdigit()
439n/a s.islower()
440n/a s.isnumeric()
441n/a s.isspace()
442n/a s.istitle()
443n/a s.isupper()
444n/a
445n/a def calibrate(self):
446n/a
447n/a data = (u'abc', u'123', u' ', u'\u1234\u2345\u3456', u'\uFFFF'*10)
448n/a len_data = len(data)
449n/a
450n/a for i in range(self.rounds):
451n/a s = data[i % len_data]
452n/a
453n/atry:
454n/a import unicodedata
455n/aexcept ImportError:
456n/a pass
457n/aelse:
458n/a class UnicodeProperties(Test):
459n/a
460n/a version = 2.0
461n/a operations = 5 * 8
462n/a rounds = 100000
463n/a
464n/a def test(self):
465n/a
466n/a data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF')
467n/a len_data = len(data)
468n/a digit = unicodedata.digit
469n/a numeric = unicodedata.numeric
470n/a decimal = unicodedata.decimal
471n/a category = unicodedata.category
472n/a bidirectional = unicodedata.bidirectional
473n/a decomposition = unicodedata.decomposition
474n/a mirrored = unicodedata.mirrored
475n/a combining = unicodedata.combining
476n/a
477n/a for i in range(self.rounds):
478n/a
479n/a c = data[i % len_data]
480n/a
481n/a digit(c, None)
482n/a numeric(c, None)
483n/a decimal(c, None)
484n/a category(c)
485n/a bidirectional(c)
486n/a decomposition(c)
487n/a mirrored(c)
488n/a combining(c)
489n/a
490n/a digit(c, None)
491n/a numeric(c, None)
492n/a decimal(c, None)
493n/a category(c)
494n/a bidirectional(c)
495n/a decomposition(c)
496n/a mirrored(c)
497n/a combining(c)
498n/a
499n/a digit(c, None)
500n/a numeric(c, None)
501n/a decimal(c, None)
502n/a category(c)
503n/a bidirectional(c)
504n/a decomposition(c)
505n/a mirrored(c)
506n/a combining(c)
507n/a
508n/a digit(c, None)
509n/a numeric(c, None)
510n/a decimal(c, None)
511n/a category(c)
512n/a bidirectional(c)
513n/a decomposition(c)
514n/a mirrored(c)
515n/a combining(c)
516n/a
517n/a digit(c, None)
518n/a numeric(c, None)
519n/a decimal(c, None)
520n/a category(c)
521n/a bidirectional(c)
522n/a decomposition(c)
523n/a mirrored(c)
524n/a combining(c)
525n/a
526n/a def calibrate(self):
527n/a
528n/a data = (u'a', u'1', u' ', u'\u1234', u'\uFFFF')
529n/a len_data = len(data)
530n/a digit = unicodedata.digit
531n/a numeric = unicodedata.numeric
532n/a decimal = unicodedata.decimal
533n/a category = unicodedata.category
534n/a bidirectional = unicodedata.bidirectional
535n/a decomposition = unicodedata.decomposition
536n/a mirrored = unicodedata.mirrored
537n/a combining = unicodedata.combining
538n/a
539n/a for i in range(self.rounds):
540n/a
541n/a c = data[i % len_data]