Exemple #1
0
# 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)
Exemple #2
0
# 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')
Exemple #3
0
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()
Exemple #4
0
# 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()

Exemple #5
0
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:'
Exemple #8
0
# 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)

Exemple #9
0
# 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')
Exemple #10
0
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)