/[escript]/trunk/escript/py_src/benchmark.py
ViewVC logotype

Diff of /trunk/escript/py_src/benchmark.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 387 by gross, Tue Dec 20 00:37:20 2005 UTC revision 451 by gross, Mon Jan 23 23:45:43 2006 UTC
# Line 27  __version__="$Revision:$" Line 27  __version__="$Revision:$"
27  __date__="$Date:$"  __date__="$Date:$"
28    
29  import os,socket,time,sys  import os,socket,time,sys
30    from esys.escript import setNumberOfThreads
31    
32  class BenchmarkSuite(object):  class BenchmarkSuite(object):
33     """     """
# Line 120  class BenchmarkSuite(object): Line 121  class BenchmarkSuite(object):
121             out+=self[i].getHTML(filter=filter,level=min(level+1,self.MAX_LEVEL))             out+=self[i].getHTML(filter=filter,level=min(level+1,self.MAX_LEVEL))
122             out+="<p>\n"             out+="<p>\n"
123         if level==1:         if level==1:
124             out+="<hr><p align=\"center\">by %s at %s</p>\n"%(os.getlogin(),time.strftime('%X %x %Z'))             try:
125                   name=os.getlogin()
126                   out+="<hr><p align=\"center\">by %s at %s</p>\n"%(name,time.strftime('%X %x %Z'))
127               except OSError:
128                   out+="<hr><p align=\"center\">%s</p>\n"%(time.strftime('%X %x %Z'))
129                  
130             out+="</BODY></HTML>\n"             out+="</BODY></HTML>\n"
131         return out         return out
132    
# Line 201  class Benchmark(object): Line 207  class Benchmark(object):
207               s=scale               s=scale
208            row=[]            row=[]
209            if s>0:            if s>0:
210                  t0=time.time()
211                  print "%s with %s threads started."%(r.__class__,s)
212                for p in self.__options:                for p in self.__options:
213                    os.environ['OMP_NUM_THREADS']=str(s)                    setNumberOfThreads(s)
214                    row.append(r.run(p))                    try:
215                         row.append(r.run(p))
216                      except:
217                         row.append(None)
218                  t0=time.time()-t0
219                  print "%s with %s threads finished (walltime =%s sec)."%(r.__class__,s,t0)
220            self.__results.append(row)            self.__results.append(row)
221     def getHTML(self,filter,level=1):     def getHTML(self,filter,level=1):
222         """         """
# Line 240  class Benchmark(object): Line 253  class Benchmark(object):
253            for o in self.__options:            for o in self.__options:
254                   if len(rn)==0:                   if len(rn)==0:
255                       h0+="<TH ALIGN=\"center\">%s</TH>"%str(o)                       h0+="<TH ALIGN=\"center\">%s</TH>"%str(o)
256                         colspan=1
257                   elif len(rn)==1:                   elif len(rn)==1:
258                       h0+="<TH ALIGN=\"center\">%s</TH>"%str(o)                       h0+="<TH ALIGN=\"center\">%s</TH>"%str(o)
259                         colspan=1
260                       empty_h1=False                       empty_h1=False
261                   else:                   else:
262                       h0+="<TH ALIGN=\"center\" COLSPAN=%s>%s</TH>"%(len(rn),str(o))                       colspan=len(rn)
263                         h0+="<TH ALIGN=\"center\" COLSPAN=%s>%s</TH>"%(colspan,str(o))
264                   h1+=h1_seg                   h1+=h1_seg
265            out+=h0+"</TR>\n"+h1+"</TR>\n"            out+=h0+"</TR>\n"+h1+"</TR>\n"
266            c=0            c=0
267            for r in range(len(self.__results)):            for r in range(len(self.__results)):
268               out+="<TR><TH ALIGN=\"right\">%s</TH>"%str(self.__problems[r])               out+="<TR><TH ALIGN=\"right\">%s</TH>"%str(self.__problems[r])
269               if isinstance(self.__scale,list): out+="<TD ALIGN=\"right\">%s</TD>"%self.__scale[c]               if isinstance(self.__scale,list):
270                     out+="<TD ALIGN=\"right\">%s</TD>"%self.__scale[c]
271               for col in self.__results[r]:               for col in self.__results[r]:
272                     for e in filter(col): out+="<TD ALIGN=\"right\">%s</TD>"%e                     if col==None:
273                          out+="<TD ALIGN=\"center\" COLSPAN=%s>failed.</TD>"%colspan
274                       else:
275                          for e in filter(col): out+="<TD ALIGN=\"right\">%s</TD>"%e
276               out+="</TR>\n"               out+="</TR>\n"
277               c+=1               c+=1
278            out+="</TABLE>"            out+="</TABLE>"

Legend:
Removed from v.387  
changed lines
  Added in v.451

  ViewVC Help
Powered by ViewVC 1.1.26