Changeset 1066


Ignore:
Timestamp:
12/30/15 15:58:50 (5 years ago)
Author:
klaus
Message:

forgot to check in other timeit changes

Location:
SHX/trunk/SeismicHandler
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/basics/command.py

    r1062 r1066  
    99from SeismicHandler.config import set_status 
    1010from SeismicHandler.basics.error import ShxError 
    11 from SeismicHandler.basics import timeit 
     11from SeismicHandler.basics import timeit, timestore 
    1212 
    1313 
     
    2626    # expectFilename 
    2727 
    28     @timeit 
     28    #@timeit 
    2929    def __init__(self, *args, **kwargs): 
    3030        # transfer known qualifiers 
     
    105105            pass 
    106106 
    107         msgs.sendMessage("log.debug.command", message=self.__class__.__name__) 
     107        #msgs.sendMessage("log.debug.command", message=self.__class__.__name__) 
    108108 
    109109        try: 
  • SHX/trunk/SeismicHandler/basics/messages.py

    r1062 r1066  
    2121hive = {} 
    2222 
    23 @timeit 
     23#@timeit 
    2424def log_message(level, *message): 
    25     """ 
     25    """--MA-- 
    2626    Small helper method for logging via messaging system. 
    2727    Considerable execution time goes into this. Check or disable! 
    2828    """ 
    2929 
    30     message = " ".join(map(str, message)) 
    31     MessageSystem.sendMessage("log.%s" % level, message=message) 
    32     #pass 
    33  
    34  
    35 @timeit 
     30    #message = " ".join(map(str, message)) 
     31    #MessageSystem.sendMessage("log.%s" % level, message=message) 
     32    pass 
     33 
     34 
     35#@timeit 
    3636def _set_runtime_var(name, value): 
    37     """ 
     37    """--MA-- 
    3838    Helper function for setting runtime variables. 
    3939    """ 
     
    4242 
    4343 
    44 @timeit 
     44#@timeit 
    4545def _get_runtime_var(name, default): 
    46     "Return value of runtime variable." 
     46    """--MA-- 
     47    Return value of runtime variable. 
     48    """ 
    4749    def receiver(value, msgid): 
    4850        global hive 
     
    5759        msgs.unsubscribe(receiver, msgid) 
    5860     
    59     runtime_a = time.time() 
    6061    msgid = "gR%s" % uuid.uuid4().hex 
    61     runtime_0 = time.time() 
    6262    msgs.subscribe(receiver, msgid) 
    63     runtime_b = time.time() 
    6463    topic = msgs.getTopic(msgid) 
    65     runtime_c = time.time() 
    6664 
    6765    msgs.sendMessage("getruntime", name=name, msgid=msgid) 
    68     runtime_d = time.time() 
     66    #print "messages.debug: get_runtime '%s'" % name, \ 
     67    #    sys._current_frames().values()[0].f_back.f_globals['__file__'] 
    6968 
    7069    # waiting for receiver drop out of topic 
    7170    while topic.getListeners(): 
    7271        time.sleep(0.01) 
    73     runtime_e = time.time() 
    74  
    75     #print "runtime runtimevar %s %g 0: %g w: %g x: %g y: %g z: %g" % (name, 
    76     #    (runtime_e-runtime_a),(runtime_0-runtime_a),(runtime_b-runtime_0),(runtime_c-runtime_b), 
    77     #    (runtime_d-runtime_c),(runtime_e-runtime_d)) 
     72 
    7873    return hive.pop(msgid) 
    7974 
     
    113108    send_event("redraw") 
    114109 
    115 @timeit 
     110#@timeit 
    116111def send_event(name, payload=None): 
    117     """ 
     112    """--MA-- 
    118113    Simple event propagating method. 
    119114    """ 
     
    121116    log_message("debug.message", "Event '%s' sent." % name) 
    122117 
    123 @timeit 
     118#@timeit 
    124119def ui_event(name, payload=None, wait=False): 
    125120    """ 
     
    160155        return hive.pop(msgid) 
    161156 
    162 @timeit 
     157#@timeit 
    163158def subscribe_event(method, event): 
    164159    msgs.subscribe(method, "EVENT:%s" % event) 
    165160 
    166 @timeit 
     161#@timeit 
    167162def subscribe_ui_event(method, event): 
    168163    msgs.subscribe(method, "GUI:%s" % event) 
    169164 
    170 @timeit 
     165#@timeit 
    171166def set_style(block, item=None, value=None): 
    172167    """ 
     
    191186        set_runtime("attrib", attribs) 
    192187 
    193 @timeit 
     188#@timeit 
    194189def get_style(block, item=None): 
    195190    """ 
  • SHX/trunk/SeismicHandler/basics/tools.py

    r1062 r1066  
    102102    "Decorator for measuring execution time of methods." 
    103103 
    104     def timed(*args, **kw): 
    105         ts = time.time() 
    106         result = method(*args, **kw) 
    107         te = time.time() 
    108         runtime = te - ts 
     104    def getname(method): 
    109105        try: 
    110106            specname = method.__doc__[:6].replace(' ','-').replace('\n','-' 
     
    116112        name = "%s.%s%s" % (method.__module__.strip("'"), 
    117113            specname,method.__name__.strip("'")) 
    118         #print '%s %2.2f sec' % (name, runtime) 
     114        return name 
     115         
     116 
     117    def timed(*args, **kw): 
    119118        ta = time.time() 
    120         timestore.add( name, runtime ) 
    121         tt = time.time() 
    122         timestore.add( "timeit", tt-te + tt-ta )  # estimate tt-ta for this command 
     119        name = getname(method) 
     120        timestore.lock( name ) 
     121        ts = time.time() 
     122        result = method(*args, **kw) 
     123        timestore.unlock( name ) 
     124        te = time.time() 
     125        timestore.add( name, te-ts ) 
     126        tb = time.time() 
     127        timestore.add( "timeit", ts-ta + 2*(tb-te) )  # estimate tb-te for this command 
    123128        return result 
    124129 
     
    128133class TimeStore: 
    129134    def __init__( self ): 
    130         self.timedict = {} 
    131         self.cntdict = {} 
    132         self.enabled = True 
     135        self.clear() 
    133136    def add( self, name, runtime ): 
    134         if not self.enabled: 
     137        if name in self.locked: 
     138            try: 
     139                self.lockcntdict[name] += 1 
     140            except: 
     141                self.lockcntdict[name] = 1 
    135142            return 
    136143        try: 
     
    145152        self.timedict = {} 
    146153        self.cntdict = {} 
    147     def enable( self, onoff ): 
    148         self.enabled = onoff 
     154        self.lockcntdict  = {} 
     155        self.locked = [] 
     156        self.maxlocklength = 0 
     157        self.spectimer = 0. 
     158        self.specmark = None 
     159    def lock( self, name ): 
     160        self.locked.append( name ) 
     161        if len(self.locked) > self.maxlocklength: 
     162            self.maxlocklength = len(self.locked) 
     163            #print "dbg:", self.locked 
     164    def unlock( self, name ): 
     165        try: 
     166            self.locked.remove( name ) 
     167        except: 
     168            print "TimeStore: could not remove lock '%s'" % name 
     169    def timer_on( self ): 
     170        self.specmark = time.time() 
     171    def timer_off( self ): 
     172        if self.specmark != None: 
     173            self.spectimer += (time.time() - self.specmark) 
     174        self.specmark = None 
    149175    def dump( self, sumroot=[] ): 
    150176        for name in sorted(self.timedict.keys()): 
    151             print "%s  :  %7.4f (%d)" % (name,self.timedict[name], 
    152                 self.cntdict[name]) 
     177            try: 
     178                lockcnt = self.lockcntdict[name] 
     179            except: 
     180                lockcnt = 0 
     181            print "%s  :  %7.4f (%d,%d)" % (name,self.timedict[name], 
     182                self.cntdict[name],lockcnt) 
    153183        if sumroot: 
    154184            print 
     
    160190                        runsum += self.timedict[name] 
    161191                print "%s : %7.4f" % (root,runsum) 
     192        print "spec timer: %7.4f" % self.spectimer 
     193        print "maxlocklength: %d" % self.maxlocklength 
    162194 
    163195timestore = TimeStore() 
  • SHX/trunk/SeismicHandler/commands/help.py

    r1063 r1066  
    3636# locally. 
    3737    fetch_area 51. 10. 2. bh,sh,hh,eh 7-aug-15_00:16:30 600 /comp=z /save /storemeta 
     38 
     39# Read a data file from a http server with automatic file format determination, 
     40# example file (SEISAN format): 
     41#     http://examples.obspy.org/2001-01-13-1742-24S.KONO__004 
     42@READO |http:|$SLASH|$SLASH|examples.obspy.org|$SLASH|2001-01-13-1742-24S.KONO__004| 2-4 
     43 
    3844""" 
    3945 
  • SHX/trunk/SeismicHandler/config/runtime.py

    r1062 r1066  
    108108        }, 
    109109        # attribute blocks 
    110         "RUNTIME:attrib": {} 
     110        "RUNTIME:attrib": {}, 
     111        # default trace info values 
     112        "RUNTIME:zoom": 1., 
     113        "RUNTIME:reduction": 1., 
     114        "RUNTIME:norm": 0.5, 
     115        "RUNTIME:weight": 1., 
    111116    }) 
    112117 
    113     @timeit 
     118    #@timeit 
    114119    def __init__(self): 
    115120        if not self.config: 
     
    278283         
    279284         
    280     @timeit 
     285    #@timeit 
    281286    def _setRuntimeVarTimed(self, name, value): 
    282287        log_message( 
     
    297302         
    298303         
    299     @timeit 
     304    #@timeit 
    300305    def _getRuntimeVarTimed(self, name, msgid): 
    301306        """ 
     
    315320        log_message("debug.runtime.getruntime", msg) 
    316321 
    317     @timeit 
     322    #@timeit 
    318323    def _getRuntimeVarDirect(self, name ): 
    319324        """ 
  • SHX/trunk/SeismicHandler/patches/obspy_.py

    r1046 r1066  
    1717from obspy.core.util import AttribDict 
    1818from obspy.sh.core import fromUTCDateTime, toUTCDateTime 
    19 from SeismicHandler.basics.messages import log_message, get_runtime 
     19from SeismicHandler.config import get_runtime 
     20from SeismicHandler.basics.messages import log_message #, get_runtime 
    2021from SeismicHandler.basics.error import ShxError 
    2122from SeismicHandler.core import Traces, Hidden 
Note: See TracChangeset for help on using the changeset viewer.