1 # -*- coding: utf-8 -*-
3 Cet exemple met en oeuvre le profiling de Python sur un cas
4 avec plusieurs éléments de définition,
5 une opération de vérification du dictionnaire d
6 et l'appel à la méthode supprime de l'objet o
10 sys.path[:0]=['../..']
13 from Accas import SIMP,FACT,BLOC
14 from Accas import AU_MOINS_UN
16 # Construction objet de définition
18 cata= FACT(mcf1=FACT(a=SIMP(typ='I'),b=SIMP(typ='I')),
19 mcf2=FACT(c=SIMP(typ='I'),d=SIMP(typ='I')),
21 bloc1=BLOC(condition="a==1",
25 sect3=FACT(c=SIMP(typ='I'),d=SIMP(typ='I')),
26 regles=AU_MOINS_UN('sect3'),
29 # Vérification objet de définition
32 print "L'objet de définition est valide "
37 d= {'mcf1':{'a':1,'b':2},
38 'mcf2':({'c':3},{'c':5}),
39 'sect3':{'c':3,'d':5},
44 # Création de l'objet MCFACT de nom mcf1
46 # Vérification objet MCFACT
49 print "L'objet MCFACT basé sur le dictionnaire %s est valide " % d
51 print "L'objet MCFACT basé sur le dictionnaire %s n'est pas valide " % d
57 #profile.run("main()")
58 prof=profile.Profile()
65 # Impression de différentes statistiques
68 print "*********************************************"
69 print "* Trié par temps interne (20 plus grands) *"
70 print "*********************************************"
71 p.sort_stats('time').print_stats(20)
73 print "***********************************************"
74 print "* Liste des appellés triée par temps interne *"
75 print "***********************************************"
78 print "************************************************************"
79 print "* Liste des appellants de is_reel triée par temps interne *"
80 print "************************************************************"
81 p.print_callers('is_reel')
83 print "*********************************************"
84 print "* Trié par temps cumulé (20 plus grands) *"
85 print "*********************************************"
86 p.sort_stats('cumulative').print_stats(20)
88 print "*********************************************"
89 print "* Trié par noms de fonction *"
90 print "*********************************************"
91 p.sort_stats('name').print_stats()
93 print "*********************************************"
94 print "* Statistique standard *"
95 print "*********************************************"
98 print "*************************************************"
99 print "* Trié par fichier seulement methodes __init__ *"
100 print "*************************************************"
101 p.sort_stats('file').print_stats('__init__')