[Python-Dev] Performance of various marshallers

Paul Prescod paul@ActiveState.com
Tue, 02 Oct 2001 18:57:35 -0700


Shilad Sen wrote:
> 
> Skip has been kind enough to copy me on the bulk of correspondence
> regarding py-xmlrpc versus other xmlrpc parsing options.

Thanks for your good-natured response.

>...
> Paul, you are correct in that my library doesn't support the 5 items you
> mentioned.  I am aware of these, but they are actually not officially
> supported by the spec either.  XML-RPC is a bit strange in that the spec
> does not allow or require true XML.

I think that if a spec claims to be based on XML and does not explicitly
disclaim support for built-in XML features, then it allows them. For
instance if it doesn't say that C syntax is illegal, then there is
no reason to believe it is.

> My library has been adopted far more than I would have guessed, and I
> have had many questions about things like SSL support (which is not up
> to spec either).  As a result, I am almost finished with a rewrite that
> has all the transport and protocol components nicely split up. I have
> on my list of todo's switching the hand coded parser to expat. My own
> parser works just fine, though, and I haven't had any complaints 
> so that is relatively low on the list.

That's fine with me. If your simplified parser turns out to be
significantly faster than Expat (too early to say) then you could even
keep it around as an option when the client and the server are both
known to be using the same subset of XML.

> ...  My hope is that with the next
> major release, the library will move a bit closer to a place that suits
> people like Paul.  Meanwhile, it works nicely for applications where
> performance requirements are absolutely critical.

Did you consider wrapping one of the existing XML-RPC libraries written
in C? When we needed a reentrant XML-RPC library for PHP, we wrapped
Eric Kidd's xmlrpc-c.

 Paul Prescod