import xmlrpclib def xmlrpc_reconnect(server): "XMLRPC, reconnecting each time to server" server= xmlrpclib.Server(server) person = server.GetPerson('1') def xmlrpc_connected(server): "XMLRPC, already connected to server" person = server.GetPerson('1') def without_xmlrpc(server): "direct function calls" server.GetPerson('1') if __name__ == "__main__": import sys, time, myserver testfuncs = (without_xmlrpc, xmlrpc_connected, xmlrpc_reconnect) arg1 = myserver.PersonDB() arg2 = xmlrpclib.Server('http://localhost:8000') arg3 = 'http://localhost:8000' testargs = (arg1, arg2, arg3) test = zip(testfuncs, testargs) try: n=int(sys.argv[1]) except: n = 1000 print "Running a timed comparison of xmlrpc via direct function calls:" print "Each test is run %d times" %n for func in test: print func[0].__doc__ t1=time.time() for i in xrange(n): apply(func[0],(func[1],)) t2=time.time() print "time elapsed: ", t2-t1 print