You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by Pavel Ausianik <Pa...@epam.com> on 2002/11/05 19:37:09 UTC

Performance reserve

Hello,

I have found another good source of the performance reserve, which could be
further 5-6% to current state, however I'm not sure how to implement this.

The problem:  XMLJavaMappingRegistry.getKey takes up to 6-10%  of all time
(it also includes QNAme.toString(), etc.)

Simple println inserted into this function shows that a request for every
key comes twice apart, on any call, both in the client & server, always
going to the parent registry as in following example:

  protected Deserializer queryDeserializer_(QName elementType,
                                            String encodingStyleURI)
  {
    Deserializer ds = super.queryDeserializer_(elementType,
encodingStyleURI);
    if (ds != null) {
      return ds;
    }
    if (parent != null) {
      ds = parent.queryDeserializer_(elementType, encodingStyleURI);
      if (ds != null) {
        return ds;
      }
    }
    return null;
  }
 
the same occurs in the querySerializer_, and queryJavaType_ calls. First
call fails since registry created does not have entries for 
At least this happens in the sample addressbook. Since this occurs both on
the server and client, that mean that registry is not organized well in
library itself. Maybe sample just does not show how better the
SOAPMappingRegistry should be organized. Maybe for those users who have
found that SOAPMappingRegistry should be shared between all Calls we should
create not Registry with custom mapping + parent Registry, but copy of
standard registry , without parent at all (for users who creates registry
every time it is not acceptable). ANother solution could make registry
"learn" from parent all mapping. 

Here is a output of printlns inserted in both getKey functions (with Class
and Qname), made for a single call of getAddress

CKEY org.apache.soap.rpc.Parameter +
http://schemas.xmlsoap.org/soap/encoding/
CKEY org.apache.soap.rpc.Parameter +
http://schemas.xmlsoap.org/soap/encoding/
CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/
CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/
CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/
CKEY java.lang.String + http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY urn:xml-soap-address-demo:address +
http://schemas.xmlsoap.org/soap/encoding/
QKEY urn:xml-soap-address-demo:address +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY urn:xml-soap-address-demo:phone +
http://schemas.xmlsoap.org/soap/encoding/
QKEY urn:xml-soap-address-demo:phone +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:int +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://schemas.xmlsoap.org/soap/envelope/:Parameter +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/
QKEY http://www.w3.org/2001/XMLSchema:string +
http://schemas.xmlsoap.org/soap/encoding/

Best regards,
Pavel




--
To unsubscribe, e-mail:   <ma...@xml.apache.org>
For additional commands, e-mail: <ma...@xml.apache.org>