00001 #!/usr/local/bin/python 00002 # 00003 # Copyright 2004 00004 # by 00005 # The Board of Trustees of the 00006 # Leland Stanford Junior University. 00007 # All rights reserved. 00008 # 00009 00010 00011 __facility__ = "Online" 00012 __abstract__ = "Commanding rate measurement test" 00013 __author__ = "A. Perazzo <perazzo@SLAC.Stanford.edu> SLAC - GLAST I&T/Online" 00014 __date__ = ("$Date: 2004/08/24 23:20:56 $").split(' ')[1] 00015 __version__ = "$Revision: 2.1 $" 00016 __release__ = "$Name: R04-12-00 $" 00017 __credits__ = "SLAC" 00018 00019 import LATTE.copyright_SLAC 00020 00021 import time 00022 00023 from LATTE.client.gOptions import Options 00024 from LATTE.client.gCmdCli import CmdCli 00025 from LATTE.client.gCommand import Command 00026 from LATTE.database.gLAT import GLAT 00027 00028 def test_rate(): 00029 options = Options(['server']) 00030 try: 00031 options.parse() 00032 except Exception, msg: 00033 options.usage(str(msg)) 00034 return 00035 00036 cmdcli = CmdCli() 00037 lat = GLAT(cmdcli) 00038 cmdcli.connect(options.server) 00039 00040 start = time.time() 00041 for counter in range(10000): 00042 lat.stats_failed_events = counter 00043 end = time.time() 00044 00045 counter += 1 00046 elapsed = end-start 00047 rate = 1.0/elapsed*counter 00048 00049 print " elapsed %.4f counter %d rate %.2f [Hz]" %(elapsed, counter, rate) 00050 00051 start = time.time() 00052 for counter in range(10000): 00053 lat.cmdrsp('ggLATread', 8, '!I') 00054 end = time.time() 00055 00056 counter += 1 00057 elapsed = end-start 00058 rate = 1.0/elapsed*counter 00059 00060 print " elapsed %.4f counter %d rate %.2f [Hz]" %(elapsed, counter, rate) 00061 00062 start = time.time() 00063 command = Command('ggLATread', 8, '!I') 00064 for counter in range(10000): 00065 cmdcli._CmdCli__command_response(command.packet()) 00066 end = time.time() 00067 00068 counter += 1 00069 elapsed = end-start 00070 rate = 1.0/elapsed*counter 00071 00072 print " elapsed %.4f counter %d rate %.2f [Hz]" %(elapsed, counter, rate) 00073 00074 cmdcli.disconnect() 00075 00076 if __name__ == '__main__': 00077 test_rate()