/[escript]/trunk/escript/test/python/TimingTests.py
ViewVC logotype

Diff of /trunk/escript/test/python/TimingTests.py

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

revision 148 by jgs, Tue Aug 23 01:24:31 2005 UTC revision 149 by jgs, Thu Sep 1 03:31:39 2005 UTC
# Line 1  Line 1 
 import sys  
 import unittest  
 import os  
   
 import time  
   
 from escript.escript import *  
 from finley import finley  
   
 import numarray  
 from numarray import array,Float64,ones,greater  
   
1  """  """
2  Miscellaneous escript/Data timing tests.  Miscellaneous escript/Data timing tests.
3    
4  Version $Id$  Version $Id$
5  """  """
6    
7    import sys
8    import os
9    import time
10    
11    from esys.escript import *
12    from esys import finley
13    
14    #
15    # ================== data values to test with =========================
16    
17  arglist = [ \  arglist = [ \
18  3.0, \  3.0, \
19  [3,4], \  [3.0,4.0], \
20  [[1,2],[3,4]], \  [[1.0,2.0],[3.0,4.0]], \
21  [[15,8],[12,8]], \  [[[15.0,8.0],[12.0,8.0]],[[-9.0,9.0],[13.0,8.0]]] \
22  [[[15,8],[12,8]],[[-9,9],[13,8]]] \  ]
23    
24    testlist = [
25    "abs",
26    "maxval",
27    "minval",
28    "mindp",
29    "length",
30    "trace",
31    "sign",
32    "exp",
33    "sqrt",
34    "neg",
35    "pos",
36    "sin",
37    "cos",
38    "tan",
39    "log",
40    "ln",
41    "Lsup",
42    "Linf",
43    "sup",
44    "inf",
45    "wherePositive"
46  ]  ]
47    
48  def turnToArray(val):  #
49       out=array(val,Float64)  # ================== method definitions =========================
      return out  
50    
51  def prepareArg(val,ex,wh):  def prepareArg(val,ex,wh):
52       if ex=="Expanded":      if ex=="Expanded":
53           exx=True          exx=True
      else:  
          exx=False  
      out=Data(val,what=wh,expand=exx)  
      return out  
   
 def checkResult(text,res,val0,val1,val2,wh):  
      ref=Data(val0,what=wh,expand=False)  
      ref.setTaggedValue(Tag1,val1)  
      ref.setTaggedValue(Tag2,val2)  
      norm=Lsup(ref)+tol  
      error=Lsup(ref-res)/norm  
      print "@@ %s, shape %s: error = %e"%(text,ref.getShape(),error)  
      if error>tol:  
        #raise SystemError,"@@ %s at %s: error is too large"%(text,wh)  
        print "**** %s : error is too large"%(text)  
   
 def getRank(arg):  
     if isinstance(arg,Data):  
        return arg.getRank()  
     else:  
         g=array(arg)  
         if g.rank==0:  
            return 1  
         else:  
            return g.rank  
   
 def isScalar(arg):  
     if isinstance(arg,Data):  
        if arg.getRank()==1 and arg.getShape()[0]==1:  
          return not None  
        else:  
          return None  
54      else:      else:
55          g=array(arg)          exx=False
56          if g.rank==0:      out=Data(val,what=wh,expand=exx)
57             return not None      return out
58          else:  
59             if g.rank==1 and g.shape[0]==1:  def getStartTime():
60                return not None      return time.clock()
61             else:  
62                return None  def calcElapsedTime(starttime):
63        stoptime = time.clock()
64        elapsed = stoptime - starttime
65        print elapsed
66    
67    def runTest(arg,test):
68        print "\n", test
69        result = arg.__getattribute__(test)()
70        del result
71    
72  #  #
73  # ==============================================================  # ===================== main ==============================
   
 print "\n\n"  
74    
75  msh=finley.Rectangle(1000,1000,1)  msh=finley.Rectangle(1000,1000,1)
76    
# Line 92  for wh in [Function(msh)]: Line 86  for wh in [Function(msh)]:
86    
87        arg=prepareArg(a,ex,wh)        arg=prepareArg(a,ex,wh)
88    
89        starttime = time.clock()        for test in testlist:
90    
91            starttime = getStartTime()
92    
93        print "\nabs:",          runTest(arg,test)
       arg_abs = arg.abs()  
94    
95        stoptime = time.clock()          calcElapsedTime(starttime)
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nmaxval:",  
       arg_maxval = arg.maxval()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nminval:",  
       arg_minval = arg.minval()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nmindp:",  
       arg_mindp = arg.mindp()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nlength",  
       arg_length = arg.length()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\ntrace",  
       arg_trace = arg.trace()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nsign",  
       arg_sin = arg.sign()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nexp",  
       arg_exp =  arg.exp()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nsqrt",  
       arg_sqrt = arg.sqrt()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nneg",  
       arg_neg = arg.neg()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\npos",  
       arg_pos = arg.pos()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nsin",  
       arg_sin = arg.sin()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\ncos",  
       arg_cos = arg.cos()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\ntan",  
       arg_tab = arg.tan()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nlog",  
       arg_log = arg.log()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nln",  
       arg_ln = arg.ln()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nLsup",  
       arg_Lsup = arg.Lsup()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nLinf",  
       arg_Linf = arg.Linf()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\nsup",  
       arg_sup = arg.sup()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
   
       print "\ninf",  
       arg_inf = arg.inf()  
   
       stoptime = time.clock()  
       elapsed = stoptime - starttime  
       starttime = time.clock()  
       print elapsed  
96    
97  sys.exit(0)  sys.exit(0)
98  # end  # end

Legend:
Removed from v.148  
changed lines
  Added in v.149

  ViewVC Help
Powered by ViewVC 1.1.26