Components for a client/server architecture

Samuel newsgroups at debain.org
Mon May 21 15:53:30 EDT 2007


On Mon, 21 May 2007 12:06:50 +0200, Diez B. Roggisch wrote:

> I'm not sure which configuration you want to change how often. But I'm
> not convinced that the python threading limitations really do make a
> difference here. Do you really benefit from multi-core capabilities in
> this scenario?

The threading issues are not bound to multi cpu systems. The problem is 
that some of Python's blocking functions require holding the global lock.

"Not all built-in functions that may block waiting for I/O allow other 
threads to run."
"It is not possible to interrupt the acquire() method on a lock"
http://docs.python.org/lib/module-thread.html

I also found that IronPython does not have a global lock, so far it seems 
well suited for solving the problems I am trying to avoid. I am still 
looking for a good comparison between IronPython, Python, and Jython.

> Sounds like CORBA to me. CORBA has a very mature and good implementation
> for Python called OmniORB, and interoperability with other orbs (the
> ones available for e.g. Java) is very good - as CORBA as standard is
> mature.

I have worked with Bonobo (an implementation of CORBA) before, though not 
on the network - it is fairly complex. But I did not think of using it 
for this purpose, it might actually make sense. I'll have to look into 
the transport protocol more.

> And from what I know about SOAP it's certainly not better
> suited (besides the fact that it sucks big time anyway)

SOAP seems well suited for web services. But it comes with quite some 
overhead, I tend to say that it's not a perfect fit for our purpose.

Thank you for your comment!

-Samuel



More information about the Python-list mailing list