Salome HOME
899c7fd18334e8ddf4260e9a44a2b12a7a0bd05e
[tools/medcoupling.git] / src / INTERP_KERNELTest / perf_test.py
1 #! /bin/env python
2 # Copyright (C) 2007-2016  CEA/DEN, EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20
21 import re
22 import sys
23 import time
24 import subprocess
25
26 RES_FILE="perf_OPTIMIZE"
27
28 def test_pair(par1,par2):
29     c=re.compile("[\D]*(?P<num>[\d]+)")
30     val1=c.match(par1).group("num")
31     val2=c.match(par2).group("num")
32     st="%s %s"%(val1,val2)
33     ret=subprocess.call(["./PerfTest",par1,par2])
34     if ret!=0:
35         f=file(RES_FILE,"w") ; f.write("Error on case %s %s !!!!\n"%(par1,par2)) ; del f
36         sys.exit(ret)
37         pass
38     return st
39
40 def test_box_box():
41     st="PerfBox PerfBox\n"
42     st+=test_pair("PerfBox1495","PerfBox1495")
43     st+=test_pair("PerfBox2506","PerfBox2506")
44     st+=test_pair("PerfBox5708","PerfBox5708")
45     st+=test_pair("PerfBox13461","PerfBox13461")
46     st+=test_pair("PerfBox30808","PerfBox30808")
47     st+=test_pair("PerfBox47176","PerfBox47176")
48     st+=test_pair("PerfBox1495","PerfBox2506")
49     st+=test_pair("PerfBox1495","PerfBox5708")
50     st+=test_pair("PerfBox1495","PerfBox13461")
51     st+=test_pair("PerfBox1495","PerfBox30808")
52     st+=test_pair("PerfBox1495","PerfBox47176")
53     st+=test_pair("PerfBox2506","PerfBox5708")
54     st+=test_pair("PerfBox2506","PerfBox13461")
55     st+=test_pair("PerfBox2506","PerfBox30808")
56     st+=test_pair("PerfBox2506","PerfBox47176")
57     st+=test_pair("PerfBox5708","PerfBox13461")
58     st+=test_pair("PerfBox5708","PerfBox30808")
59     st+=test_pair("PerfBox5708","PerfBox47176")
60     st+=test_pair("PerfBox13461","PerfBox30808")
61     st+=test_pair("PerfBox13461","PerfBox47176")
62     st+=test_pair("PerfBox30808","PerfBox47176")
63     pass
64
65 def test_cyl_cyl():
66     st="PerfCyl PerfCyl\n"
67     st+=test_pair("PerfCyl1047","PerfCyl1047")
68     st+=test_pair("PerfCyl3020","PerfCyl3020")
69     st+=test_pair("PerfCyl6556","PerfCyl6556")
70     st+=test_pair("PerfCyl9766","PerfCyl9766")
71     st+=test_pair("PerfCyl25745","PerfCyl25745")
72     st+=test_pair("PerfCyl47601","PerfCyl47601")
73     st+=test_pair("PerfCyl1047","PerfCyl3020")
74     st+=test_pair("PerfCyl1047","PerfCyl6556")
75     st+=test_pair("PerfCyl1047","PerfCyl9766")
76     st+=test_pair("PerfCyl1047","PerfCyl25745")
77     st+=test_pair("PerfCyl1047","PerfCyl47601")
78     st+=test_pair("PerfCyl3020","PerfCyl6556")
79     st+=test_pair("PerfCyl3020","PerfCyl9766")
80     st+=test_pair("PerfCyl3020","PerfCyl25745")
81     st+=test_pair("PerfCyl3020","PerfCyl47601")
82     st+=test_pair("PerfCyl6556","PerfCyl9766")
83     st+=test_pair("PerfCyl6556","PerfCyl25745")
84     st+=test_pair("PerfCyl6556","PerfCyl47601")
85     st+=test_pair("PerfCyl9766","PerfCyl25745")
86     st+=test_pair("PerfCyl9766","PerfCyl47601")
87     st+=test_pair("PerfCyl25745","PerfCyl47601")
88     return st
89
90 def test_box_cyl():
91     st="PerfBox PerfCyl\n"
92     st+=test_pair("PerfBox1495","PerfCyl1047")
93     st+=test_pair("PerfBox1495","PerfCyl3020")
94     st+=test_pair("PerfBox1495","PerfCyl6556")
95     st+=test_pair("PerfBox1495","PerfCyl9766")
96     st+=test_pair("PerfBox1495","PerfCyl25745")
97     st+=test_pair("PerfBox1495","PerfCyl47601")
98     st+=test_pair("PerfBox2506","PerfCyl1047")
99     st+=test_pair("PerfBox2506","PerfCyl3020")
100     st+=test_pair("PerfBox2506","PerfCyl6556")
101     st+=test_pair("PerfBox2506","PerfCyl9766")
102     st+=test_pair("PerfBox2506","PerfCyl25745")
103     st+=test_pair("PerfBox2506","PerfCyl47601")
104     st+=test_pair("PerfBox5708","PerfCyl1047")
105     st+=test_pair("PerfBox5708","PerfCyl3020")
106     st+=test_pair("PerfBox5708","PerfCyl6556")
107     st+=test_pair("PerfBox5708","PerfCyl9766")
108     st+=test_pair("PerfBox5708","PerfCyl25745")
109     st+=test_pair("PerfBox5708","PerfCyl47601")
110     st+=test_pair("PerfBox13461","PerfCyl1047")
111     st+=test_pair("PerfBox13461","PerfCyl3020")
112     st+=test_pair("PerfBox13461","PerfCyl6556")
113     st+=test_pair("PerfBox13461","PerfCyl9766")
114     st+=test_pair("PerfBox13461","PerfCyl25745")
115     st+=test_pair("PerfBox13461","PerfCyl47601")
116     st+=test_pair("PerfBox30808","PerfCyl1047")
117     st+=test_pair("PerfBox30808","PerfCyl3020")
118     st+=test_pair("PerfBox30808","PerfCyl6556")
119     st+=test_pair("PerfBox30808","PerfCyl9766")
120     st+=test_pair("PerfBox30808","PerfCyl25745")
121     st+=test_pair("PerfBox30808","PerfCyl47601")
122     st+=test_pair("PerfBox47176","PerfCyl1047")
123     st+=test_pair("PerfBox47176","PerfCyl3020")
124     st+=test_pair("PerfBox47176","PerfCyl6556")
125     st+=test_pair("PerfBox47176","PerfCyl9766")
126     st+=test_pair("PerfBox47176","PerfCyl25745")
127     st+=test_pair("PerfBox47176","PerfCyl47601")
128     return st
129
130 def test_box_transbox():
131     st=" PerfBox PerfBoxT\n"
132     st+=test_pair("PerfBox1495","PerfBoxT1493")
133     st+=test_pair("PerfBox2506","PerfBoxT2676")
134     st+=test_pair("PerfBox5708","PerfBoxT5717")
135     st+=test_pair("PerfBox13461","PerfBoxT12469")
136     st+=test_pair("PerfBox30808","PerfBoxT29019")
137     st+=test_pair("PerfBox47176","PerfBoxT47278")
138     return st
139
140 gm=time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm)
141 st="PerfTest execution on %s\n"%(time.strftime("%a. %B %H:%M:%S",gm).lower()+time.strftime(" CET %Y",gm))
142 st+=test_box_cyl()
143 st+=test_box_box()
144 st+=test_cyl_cyl()
145 st+=test_box_transbox()
146 f=file(RES_FILE,"w")