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

Python code coverage for Tools/pybench/Calls.py

#countcontent
1n/afrom pybench import Test
2n/a
3n/aclass PythonFunctionCalls(Test):
4n/a
5n/a version = 2.1
6n/a operations = 5*(1+4+4+2)
7n/a rounds = 60000
8n/a
9n/a def test(self):
10n/a
11n/a global f,f1,g,h
12n/a
13n/a # define functions
14n/a def f():
15n/a pass
16n/a
17n/a def f1(x):
18n/a pass
19n/a
20n/a def g(a,b,c):
21n/a return a,b,c
22n/a
23n/a def h(a,b,c,d=1,e=2,f=3):
24n/a return d,e,f
25n/a
26n/a # do calls
27n/a for i in range(self.rounds):
28n/a
29n/a f()
30n/a f1(i)
31n/a f1(i)
32n/a f1(i)
33n/a f1(i)
34n/a g(i,i,i)
35n/a g(i,i,i)
36n/a g(i,i,i)
37n/a g(i,i,i)
38n/a h(i,i,3,i,i)
39n/a h(i,i,i,2,i,3)
40n/a
41n/a f()
42n/a f1(i)
43n/a f1(i)
44n/a f1(i)
45n/a f1(i)
46n/a g(i,i,i)
47n/a g(i,i,i)
48n/a g(i,i,i)
49n/a g(i,i,i)
50n/a h(i,i,3,i,i)
51n/a h(i,i,i,2,i,3)
52n/a
53n/a f()
54n/a f1(i)
55n/a f1(i)
56n/a f1(i)
57n/a f1(i)
58n/a g(i,i,i)
59n/a g(i,i,i)
60n/a g(i,i,i)
61n/a g(i,i,i)
62n/a h(i,i,3,i,i)
63n/a h(i,i,i,2,i,3)
64n/a
65n/a f()
66n/a f1(i)
67n/a f1(i)
68n/a f1(i)
69n/a f1(i)
70n/a g(i,i,i)
71n/a g(i,i,i)
72n/a g(i,i,i)
73n/a g(i,i,i)
74n/a h(i,i,3,i,i)
75n/a h(i,i,i,2,i,3)
76n/a
77n/a f()
78n/a f1(i)
79n/a f1(i)
80n/a f1(i)
81n/a f1(i)
82n/a g(i,i,i)
83n/a g(i,i,i)
84n/a g(i,i,i)
85n/a g(i,i,i)
86n/a h(i,i,3,i,i)
87n/a h(i,i,i,2,i,3)
88n/a
89n/a def calibrate(self):
90n/a
91n/a global f,f1,g,h
92n/a
93n/a # define functions
94n/a def f():
95n/a pass
96n/a
97n/a def f1(x):
98n/a pass
99n/a
100n/a def g(a,b,c):
101n/a return a,b,c
102n/a
103n/a def h(a,b,c,d=1,e=2,f=3):
104n/a return d,e,f
105n/a
106n/a # do calls
107n/a for i in range(self.rounds):
108n/a pass
109n/a
110n/a###
111n/a
112n/aclass ComplexPythonFunctionCalls(Test):
113n/a
114n/a version = 2.0
115n/a operations = 4*5
116n/a rounds = 100000
117n/a
118n/a def test(self):
119n/a
120n/a # define functions
121n/a def f(a,b,c,d=1,e=2,f=3):
122n/a return f
123n/a
124n/a args = 1,2
125n/a kwargs = dict(c=3,d=4,e=5)
126n/a
127n/a # do calls
128n/a for i in range(self.rounds):
129n/a f(a=i,b=i,c=i)
130n/a f(f=i,e=i,d=i,c=2,b=i,a=3)
131n/a f(1,b=i,**kwargs)
132n/a f(*args,**kwargs)
133n/a
134n/a f(a=i,b=i,c=i)
135n/a f(f=i,e=i,d=i,c=2,b=i,a=3)
136n/a f(1,b=i,**kwargs)
137n/a f(*args,**kwargs)
138n/a
139n/a f(a=i,b=i,c=i)
140n/a f(f=i,e=i,d=i,c=2,b=i,a=3)
141n/a f(1,b=i,**kwargs)
142n/a f(*args,**kwargs)
143n/a
144n/a f(a=i,b=i,c=i)
145n/a f(f=i,e=i,d=i,c=2,b=i,a=3)
146n/a f(1,b=i,**kwargs)
147n/a f(*args,**kwargs)
148n/a
149n/a f(a=i,b=i,c=i)
150n/a f(f=i,e=i,d=i,c=2,b=i,a=3)
151n/a f(1,b=i,**kwargs)
152n/a f(*args,**kwargs)
153n/a
154n/a
155n/a def calibrate(self):
156n/a
157n/a # define functions
158n/a def f(a,b,c,d=1,e=2,f=3):
159n/a return f
160n/a
161n/a args = 1,2
162n/a kwargs = dict(c=3,d=4,e=5)
163n/a
164n/a # do calls
165n/a for i in range(self.rounds):
166n/a pass
167n/a
168n/a###
169n/a
170n/aclass BuiltinFunctionCalls(Test):
171n/a
172n/a version = 2.0
173n/a operations = 5*(2+5+5+5)
174n/a rounds = 60000
175n/a
176n/a def test(self):
177n/a
178n/a # localize functions
179n/a f0 = globals
180n/a f1 = hash
181n/a f2 = divmod
182n/a f3 = max
183n/a
184n/a # do calls
185n/a for i in range(self.rounds):
186n/a
187n/a f0()
188n/a f0()
189n/a f1(i)
190n/a f1(i)
191n/a f1(i)
192n/a f1(i)
193n/a f1(i)
194n/a f2(1,2)
195n/a f2(1,2)
196n/a f2(1,2)
197n/a f2(1,2)
198n/a f2(1,2)
199n/a f3(1,3,2)
200n/a f3(1,3,2)
201n/a f3(1,3,2)
202n/a f3(1,3,2)
203n/a f3(1,3,2)
204n/a
205n/a f0()
206n/a f0()
207n/a f1(i)
208n/a f1(i)
209n/a f1(i)
210n/a f1(i)
211n/a f1(i)
212n/a f2(1,2)
213n/a f2(1,2)
214n/a f2(1,2)
215n/a f2(1,2)
216n/a f2(1,2)
217n/a f3(1,3,2)
218n/a f3(1,3,2)
219n/a f3(1,3,2)
220n/a f3(1,3,2)
221n/a f3(1,3,2)
222n/a
223n/a f0()
224n/a f0()
225n/a f1(i)
226n/a f1(i)
227n/a f1(i)
228n/a f1(i)
229n/a f1(i)
230n/a f2(1,2)
231n/a f2(1,2)
232n/a f2(1,2)
233n/a f2(1,2)
234n/a f2(1,2)
235n/a f3(1,3,2)
236n/a f3(1,3,2)
237n/a f3(1,3,2)
238n/a f3(1,3,2)
239n/a f3(1,3,2)
240n/a
241n/a f0()
242n/a f0()
243n/a f1(i)
244n/a f1(i)
245n/a f1(i)
246n/a f1(i)
247n/a f1(i)
248n/a f2(1,2)
249n/a f2(1,2)
250n/a f2(1,2)
251n/a f2(1,2)
252n/a f2(1,2)
253n/a f3(1,3,2)
254n/a f3(1,3,2)
255n/a f3(1,3,2)
256n/a f3(1,3,2)
257n/a f3(1,3,2)
258n/a
259n/a f0()
260n/a f0()
261n/a f1(i)
262n/a f1(i)
263n/a f1(i)
264n/a f1(i)
265n/a f1(i)
266n/a f2(1,2)
267n/a f2(1,2)
268n/a f2(1,2)
269n/a f2(1,2)
270n/a f2(1,2)
271n/a f3(1,3,2)
272n/a f3(1,3,2)
273n/a f3(1,3,2)
274n/a f3(1,3,2)
275n/a f3(1,3,2)
276n/a
277n/a def calibrate(self):
278n/a
279n/a # localize functions
280n/a f0 = dir
281n/a f1 = hash
282n/a f2 = divmod
283n/a f3 = max
284n/a
285n/a # do calls
286n/a for i in range(self.rounds):
287n/a pass
288n/a
289n/a###
290n/a
291n/aclass PythonMethodCalls(Test):
292n/a
293n/a version = 2.0
294n/a operations = 5*(6 + 5 + 4)
295n/a rounds = 30000
296n/a
297n/a def test(self):
298n/a
299n/a class c:
300n/a
301n/a x = 2
302n/a s = 'string'
303n/a
304n/a def f(self):
305n/a
306n/a return self.x
307n/a
308n/a def j(self,a,b):
309n/a
310n/a self.y = a
311n/a self.t = b
312n/a return self.y
313n/a
314n/a def k(self,a,b,c=3):
315n/a
316n/a self.y = a
317n/a self.s = b
318n/a self.t = c
319n/a
320n/a o = c()
321n/a
322n/a for i in range(self.rounds):
323n/a
324n/a o.f()
325n/a o.f()
326n/a o.f()
327n/a o.f()
328n/a o.f()
329n/a o.f()
330n/a o.j(i,i)
331n/a o.j(i,i)
332n/a o.j(i,2)
333n/a o.j(i,2)
334n/a o.j(2,2)
335n/a o.k(i,i)
336n/a o.k(i,2)
337n/a o.k(i,2,3)
338n/a o.k(i,i,c=4)
339n/a
340n/a o.f()
341n/a o.f()
342n/a o.f()
343n/a o.f()
344n/a o.f()
345n/a o.f()
346n/a o.j(i,i)
347n/a o.j(i,i)
348n/a o.j(i,2)
349n/a o.j(i,2)
350n/a o.j(2,2)
351n/a o.k(i,i)
352n/a o.k(i,2)
353n/a o.k(i,2,3)
354n/a o.k(i,i,c=4)
355n/a
356n/a o.f()
357n/a o.f()
358n/a o.f()
359n/a o.f()
360n/a o.f()
361n/a o.f()
362n/a o.j(i,i)
363n/a o.j(i,i)
364n/a o.j(i,2)
365n/a o.j(i,2)
366n/a o.j(2,2)
367n/a o.k(i,i)
368n/a o.k(i,2)
369n/a o.k(i,2,3)
370n/a o.k(i,i,c=4)
371n/a
372n/a o.f()
373n/a o.f()
374n/a o.f()
375n/a o.f()
376n/a o.f()
377n/a o.f()
378n/a o.j(i,i)
379n/a o.j(i,i)
380n/a o.j(i,2)
381n/a o.j(i,2)
382n/a o.j(2,2)
383n/a o.k(i,i)
384n/a o.k(i,2)
385n/a o.k(i,2,3)
386n/a o.k(i,i,c=4)
387n/a
388n/a o.f()
389n/a o.f()
390n/a o.f()
391n/a o.f()
392n/a o.f()
393n/a o.f()
394n/a o.j(i,i)
395n/a o.j(i,i)
396n/a o.j(i,2)
397n/a o.j(i,2)
398n/a o.j(2,2)
399n/a o.k(i,i)
400n/a o.k(i,2)
401n/a o.k(i,2,3)
402n/a o.k(i,i,c=4)
403n/a
404n/a def calibrate(self):
405n/a
406n/a class c:
407n/a
408n/a x = 2
409n/a s = 'string'
410n/a
411n/a def f(self):
412n/a
413n/a return self.x
414n/a
415n/a def j(self,a,b):
416n/a
417n/a self.y = a
418n/a self.t = b
419n/a
420n/a def k(self,a,b,c=3):
421n/a
422n/a self.y = a
423n/a self.s = b
424n/a self.t = c
425n/a
426n/a o = c
427n/a
428n/a for i in range(self.rounds):
429n/a pass
430n/a
431n/a###
432n/a
433n/aclass Recursion(Test):
434n/a
435n/a version = 2.0
436n/a operations = 5
437n/a rounds = 100000
438n/a
439n/a def test(self):
440n/a
441n/a global f
442n/a
443n/a def f(x):
444n/a
445n/a if x > 1:
446n/a return f(x-1)
447n/a return 1
448n/a
449n/a for i in range(self.rounds):
450n/a f(10)
451n/a f(10)
452n/a f(10)
453n/a f(10)
454n/a f(10)
455n/a
456n/a def calibrate(self):
457n/a
458n/a global f
459n/a
460n/a def f(x):
461n/a
462n/a if x > 0:
463n/a return f(x-1)
464n/a return 1
465n/a
466n/a for i in range(self.rounds):
467n/a pass
468n/a
469n/a
470n/a### Test to make Fredrik happy...
471n/a
472n/aif __name__ == '__main__':
473n/a import timeit
474n/a if 0:
475n/a timeit.TestClass = PythonFunctionCalls
476n/a timeit.main(['-s', 'test = TestClass(); test.rounds = 1000',
477n/a 'test.test()'])
478n/a else:
479n/a setup = """\
480n/aglobal f,f1,g,h
481n/a
482n/a# define functions
483n/adef f():
484n/a pass
485n/a
486n/adef f1(x):
487n/a pass
488n/a
489n/adef g(a,b,c):
490n/a return a,b,c
491n/a
492n/adef h(a,b,c,d=1,e=2,f=3):
493n/a return d,e,f
494n/a
495n/ai = 1
496n/a"""
497n/a test = """\
498n/af()
499n/af1(i)
500n/af1(i)
501n/af1(i)
502n/af1(i)
503n/ag(i,i,i)
504n/ag(i,i,i)
505n/ag(i,i,i)
506n/ag(i,i,i)
507n/ah(i,i,3,i,i)
508n/ah(i,i,i,2,i,3)
509n/a
510n/af()
511n/af1(i)
512n/af1(i)
513n/af1(i)
514n/af1(i)
515n/ag(i,i,i)
516n/ag(i,i,i)
517n/ag(i,i,i)
518n/ag(i,i,i)
519n/ah(i,i,3,i,i)
520n/ah(i,i,i,2,i,3)
521n/a
522n/af()
523n/af1(i)
524n/af1(i)
525n/af1(i)
526n/af1(i)
527n/ag(i,i,i)
528n/ag(i,i,i)
529n/ag(i,i,i)
530n/ag(i,i,i)
531n/ah(i,i,3,i,i)
532n/ah(i,i,i,2,i,3)
533n/a
534n/af()
535n/af1(i)
536n/af1(i)
537n/af1(i)
538n/af1(i)
539n/ag(i,i,i)
540n/ag(i,i,i)
541n/ag(i,i,i)
542n/ag(i,i,i)
543n/ah(i,i,3,i,i)
544n/ah(i,i,i,2,i,3)
545n/a
546n/af()
547n/af1(i)
548n/af1(i)
549n/af1(i)
550n/af1(i)
551n/ag(i,i,i)
552n/ag(i,i,i)
553n/ag(i,i,i)
554n/ag(i,i,i)
555n/ah(i,i,3,i,i)
556n/ah(i,i,i,2,i,3)
557n/a"""
558n/a
559n/a timeit.main(['-s', setup,
560n/a test])