great, so now we're x10 faster than pushy? good to know :)
about that article you sent -- i hardly see it as relevant... sending blobs
is a less interesting test case.
consider my results:
>>> import rpyc
>>> import time
>>> c=rpyc.classic.connect("localhost")
>>> c.execute("""def echo(data):
... return data""")
>>> echo=c.namespace["echo"]
>>>
>>> blob="a"*21000
>>> t0=time.time(); blob2=echo(blob); t1=time.time()
>>> t1-t0
0.0009999275207519531
>>>
>>> ints=tuple(range(5000)) # tuple so it's sent by value
>>> t0=time.time(); ints2=echo(ints); t1=time.time()
>>> t1-t0
0.05299997329711914
running Win7 SP1, 32bit, Python 2.7, 3GB RAM, quad core (Q9300), 2.5GHz
(quite an old machine, but surely much faster than the one they've used in
2002)
XMLRPC, SOAP and CORBA are hardly a match for RPyC, in terms of
capabilities.
also, since XMLRPC is XML-based, and SOAP is both XML-based and runs on top
of HTTP,
they are surely slower than rpyc. CORBA is binary, at least, but judging by
the fact that it's
steadily declining, i wouldn't assume it's any better (again, in terms of
capabilities).
-tomer
An NCO and a Gentleman
On Fri, Mar 18, 2011 at 15:29, Fruch <[email protected]> wrote:
> I've found my self a big fat module to test (win32con)
> and those are the results:
> *
> *
> *RPyC with bgserver:*
> DEBUG: 11/03/18 15:05:37 | import_to_global took [49] : 0.043000
> DEBUG: 11/03/18 15:05:37 | import_to_local took [49] : 0.039000
> DEBUG: 11/03/18 15:05:40 | import_to_global took [4737] : 2.927000
> DEBUG: 11/03/18 15:05:43 | import_to_local took [4737] : 2.283000
> DEBUG: 11/03/18 15:05:43 | add_decorators_to_module [re] : 0.099000
> DEBUG: 11/03/18 15:05:45 | add_decorators_to_module [win32con] : 2.535000
> *
> *
> *RPyC without bgserver:*
> DEBUG: 11/03/18 15:07:15 | import_to_global took [49] : 0.037000
> DEBUG: 11/03/18 15:07:15 | import_to_local took [49] : 0.037000
> DEBUG: 11/03/18 15:07:17 | import_to_global took [4737] : 2.320000
> DEBUG: 11/03/18 15:07:19 | import_to_local took [4737] : 2.243000
> DEBUG: 11/03/18 15:07:20 | add_decorators_to_module [re] : 0.079000
> DEBUG: 11/03/18 15:07:22 | add_decorators_to_module [win32con] : 2.817000
> *
> *
> *Pushy:*
> DEBUG: 11/03/18 15:05:46 | import_to_global took [49] : 0.500000
> DEBUG: 11/03/18 15:05:46 | import_to_local took [49] : 0.287000
> DEBUG: 11/03/18 15:06:13 | import_to_global took [4737] : 26.708000
> DEBUG: 11/03/18 15:06:43 | import_to_local took [4737] : 29.201000
> DEBUG: 11/03/18 15:06:44 | add_decorators_to_module [re] : 0.873000
> DEBUG: 11/03/18 15:07:15 | add_decorators_to_module [win32con] : 31.120000
> *
> *
> those number are far better (BTW my first test with with 3.0.7)
> now we have something that could be use for PR
>
> any suggestion to other solutions we should try and test ? xmlrpc ?
> (see http://www.ibm.com/developerworks/webservices/library/ws-pyth9/
> nice chart of timing and sizes)
>
> Fruch
>
>
>