From: "NAKAMURA, Hiroshi" Date: 2003-03-08T01:54:30+09:00 Subject: Re: SOAP, DRb and direct method call (was Re: XmlConfigFile usage) Hi, > From: Brian Candler > Sent: Saturday, March 08, 2003 1:15 AM > > And more: > > Marshal: binary string/stream <-> Ruby's object > > SOAP4R: XML string/stream <-> SOAP Data Model <-> Ruby's object > > > > So SOAP4R will never be as fast as Marshal, even if I'll rewrite it in C. > > Sure, although I guess you could go straight from Ruby object to XML > string/stream for some common cases like String and Fixnum. I might be able to do it. But this SOAP Data Model layer is very important for interoperability between SOAP implementations and between SOAP/other data model. WSDL4R maps WXS(W3C XML Schema) to SOAP Data Model. There is also RDF-SOAP mapping. NArray's n-dim array is mapped to SOAP's n-dim array in SOAP Data Model as well. I'm going to write YAML/SOAP bridge once YAML spec will be fixed. SOAP Data Model -> YAML generator and YAML -> SOAP Data Model parser are needed. Using yamlrb, it won't be too hard to do. > Have you done any comparison with xmlparser (the expat-derived one)? I've > not installed it yet. $ ruby18 soapclient-xmlparser.rb 10.846000 0.971000 11.817000 ( 22.007000) $ ruby18 soapclient-rexmlparser.rb 11.527000 1.011000 12.538000 ( 22.863000) $ ruby18 soapclient-xmlscanner.rb 13.329000 0.841000 14.170000 ( 24.347000) xmlparser/0.6,5 rexml-stable/2.4.7 xmlscanner/0.2.2 Under ruby/1.6, xmlscanner is faster in some situation (depends on marshalled data.) Xmlscanner seems not to get along with 1.8. Regards, // NaHi