I've took pushy for a test drive,
and put it head to head with rpyc, on a use case I've found rpyc a bit slow
I've did it on two remote modules, one small [39 apis], and one big [237
apis]
mapping all the api of a remote model to globals() or locals()
(my idea of " from [module] import * ")
and here are the results:
*RPyC*:
DEBUG: 11/03/09 21:08:10 | import_to_global took [39] : 3.234000
DEBUG: 11/03/09 21:08:13 | import_to_local took [39] : 3.250000
DEBUG: 11/03/09 21:08:37 | import_to_global took [237] : 23.188000
DEBUG: 11/03/09 21:09:00 | import_to_local took [237] : 23.203000
----------------------------------------------------------------------
Ran 2 tests in 57.109s
*pushy:*
*
*
DEBUG: 11/03/09 21:11:16 | import_to_global took [39] : 0.312000
DEBUG: 11/03/09 21:11:16 | import_to_local took [39] : 0.187000
DEBUG: 11/03/09 21:11:17 | import_to_global took [237] : 1.172000
DEBUG: 11/03/09 21:11:18 | import_to_local took [237] : 1.094000
----------------------------------------------------------------------
Ran 2 tests in 3.484s
thats x10 faster for the small module, and x21 faster for the big module.
and as for simplicity
*server code:*
import pushy
pushy.server.run()
*client code:*
import pushy
c = pushy.client.connect("daemon:localhost")
print c.modules.platfrom.platfrom
not much PR we can do with that.
the only thing i've found missing was I'm not sure callback are working
(like filemon demo)
and I haven't found and equivalent of rpyc.async which I think is a neat
idea.
How about, try to merge those two? (actully porting some of the feature from
rpyc into it ?)
Just a thought...