# ipython --pylab=qt -i pythonclient.py import logging logging.getLogger().setLevel(logging.DEBUG) import objectsharer as objsh objsh.helper.backend.start_server('127.0.0.1') objsh.helper.backend.connect_to('tcp://127.0.0.1:54321') print 'Finding object...' py = objsh.find_object('python_server') print 'Reply: %s' % py.cmd('1+1') objsh.helper.backend.add_qt_timer(20)
# stresstest.py, simple script to run as a dataserver stress test import numpy as np import objectsharer as objsh objsh.helper.backend.start_server('127.0.0.1') objsh.helper.backend.connect_to('tcp://127.0.0.1:55556') datasrv = objsh.find_object('dataserver') NWRITES = 1000 NARS = 20 ARLEN = 100 NFILES = 4 FNS = [('test%d.h5'%i) for i in range(NFILES)] RELEASE = False for i in range(NWRITES): if (i % 10) == 0: print 'Rec%d' % (i,) fn = FNS[np.random.randint(NFILES)] f = datasrv.get_file(fn) oname = 'rec%d'%i ar = np.random.rand(ARLEN) if oname in f: print 'Using existing %s from %s'%(oname, fn) g = f[oname] else: print 'Creating %s in %s'%(oname, fn) g = f.create_dataset(oname, data=ar) g[:] = ar if np.count_nonzero(g[:] != ar) != 0: raise Exception('Array does not match')
import time import numpy as np import objectsharer as objsh objsh.helper.backend.start_server('127.0.0.1') objsh.helper.backend.connect_to('tcp://127.0.0.1:54322') def benchmark(func, msg, N): start = time.time() for i in range(N): ret = func(msg) end = time.time() dt = (end - start) / N print ' msg size: %d' % len(msg) print ' %d calls, %.03f usec / call' % ( N, dt * 1e6, ) print ' Throughput: %.03f MB / sec' % (len(msg) / dt / 1e6, ) o = objsh.find_object('order_server') o.arrays(np.ones(10)) o.arrays(np.ones(10), a2=2 * np.ones(20)) o.arrays(np.ones(10), a3=3 * np.ones(30)) o.arrays(np.ones(10), a2=2 * np.ones(20), a3=3 * np.ones(30)) objsh.helper.backend.add_qt_timer()
# ipython --pylab=qt # execfile('pythonclient.py') import time import numpy as np import objectsharer as objsh objsh.helper.backend.start_server('127.0.0.1') objsh.helper.backend.connect_to('tcp://127.0.0.1:54322') def benchmark(func, msg, N): start = time.time() for i in range(N): ret = func(msg) end = time.time() dt = (end - start) / N print ' msg size: %d' % len(msg) print ' %d calls, %.03f usec / call' % (N, dt * 1e6,) print ' Throughput: %.03f MB / sec' % (len(msg) / dt / 1e6, ) o = objsh.find_object('order_server') o.arrays(np.ones(10)) o.arrays(np.ones(10), a2=2*np.ones(20)) o.arrays(np.ones(10), a3=3*np.ones(30)) o.arrays(np.ones(10), a2=2*np.ones(20), a3=3*np.ones(30)) objsh.helper.backend.add_qt_timer()
def benchmark(func, msg, N): start = time.time() for i in range(N): ret = func(msg) end = time.time() dt = (end - start) / N print ' msg size: %d' % len(msg) print ' %d calls, %.03f usec / call' % ( N, dt * 1e6, ) print ' Throughput: %.03f MB / sec' % (len(msg) / dt / 1e6, ) e = objsh.find_object('echo_server') size_N = ( (10, 5000), (100, 5000), (1000, 5000), (10000, 5000), (100000, 500), (1000000, 500), ) print 'Using python strings:' for size, N in size_N: ar = '0' * size benchmark(e.echo, ar, N) print 'Using numpy arrays:'
### LOTS OF USEFUL FUNCTIONS IN THIS ONE import numpy as np # import mclient # from mclient import instruments import time import objectsharer as objsh objsh.backend.start_server(addr='127.0.0.1') objsh.backend.connect_to('tcp://127.0.0.1:55555') instruments = objsh.find_object('instruments') from time import sleep from scripts.vna import VNA_functions # from scripts import VNA_functions current_milli_time = lambda: int(round(time.time() * 1000)) import os from matplotlib import pyplot as plt from datetime import datetime # from Autocopy import autocopy # from MatrixSwitch import matrix_switch # blue = instruments.create('fridge', 'sauron', host='sauron.central.yale.internal', port=33590, fridge='BL', base_ruox_channel=5) smeagol = instruments.create('fridge', 'sauron', host='sauron.central.yale.internal', port=33590, fridge='SG', base_ruox_channel=8) vna = instruments.create(
import objectsharer as objsh objsh.helper.backend.start_server('127.0.0.1') objsh.helper.backend.connect_to('tcp://127.0.0.1:54322') def benchmark(func, msg, N): start = time.time() for i in range(N): ret = func(msg) end = time.time() dt = (end - start) / N print ' msg size: %d' % len(msg) print ' %d calls, %.03f usec / call' % (N, dt * 1e6,) print ' Throughput: %.03f MB / sec' % (len(msg) / dt / 1e6, ) e = objsh.find_object('echo_server') size_N = ( (10, 5000), (100, 5000), (1000, 5000), (10000, 5000), (100000, 500), (1000000, 500), ) print 'Using python strings:' for size, N in size_N: ar = '0' * size benchmark(e.echo, ar, N) print 'Using numpy arrays:'
if backend.addr is None: backend.start_server(addr=isrvaddr) if dsrvaddr != isrvaddr: backend.start_server(addr=dsrvaddr) sys.path.append(os.getcwd()) logging.debug('Connecting to instrument/data server...') # 55555 = instrument, 55556 = data for addr in (isrv, dsrv): if not backend.connected_to_addr(addr): print 'Connecting to %s' % (addr, ) backend.connect_to(addr) time.sleep(1) instruments = objsh.find_object(isrvname) datasrv = objsh.find_object(dsrvname) datafile = datasrv.get_file(config.datafilename) ''' old local instrument server if backend.addr is None: backend.start_server(addr='127.0.0.1') sys.path.append(os.getcwd()) logging.debug('Connecting to instrument/data server...') # 55555 = instrument, 55556 = data for addr in ('tcp://127.0.0.1:55555', 'tcp://127.0.0.1:55556'): if not backend.connected_to_addr(addr): print 'Connecting to %s' % (addr,) backend.connect_to(addr) time.sleep(1)