Taras,
Could you resend this patch to me.
Thanks
Rich Scheuerle
XML & Web Services Development
512-838-5115 (IBM TL 678-5115)
Taras Shkvarchuk
<tarass@grandcent To: "'[EMAIL PROTECTED]'"
<[EMAIL PROTECTED]>
ral.com> cc:
Subject: RE: Experiments on type
serialization. (feedback very welcome)
02/21/2002 03:21
PM
Please respond to
axis-dev
Ok sure. I will look into some pooling.
What about the regular [PATCH] I submitted on serialization of
MessageElement's children, setting/getting its type.
RE: [PATCH] message.MessageElement get/setValue() and child serialization.
(the reply has updated diff)
[PATCH] encoding.SerializationContextImpl getSerializerForJavaType() always
returned null
Thanks,
-Taras
> -----Original Message-----
> From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, February 21, 2002 11:27 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Experiments on type serialization. (feedback
> very welcome)
>
>
> Rich Scheuerle
> XML & Web Services Development
> 512-838-5115 (IBM TL 678-5115)
> ----- Forwarded by R J Scheuerle Jr/Austin/IBM on 02/21/2002
> 01:26 PM -----
>
>
>
>
> R J Scheuerle Jr
>
> To:
> [EMAIL PROTECTED]
> 02/21/2002 11:08 cc:
> "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
> AM From: R J
> Scheuerle Jr/Austin/IBM@IBMUS
> Subject: Re:
> Experiments on type serialization. (feedback very welcome)
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Taras,
>
> I looked at the code and I am not sure that this an
> appropriate time to
> make "performance optimization" changes.
> I agree that Axis could be improved, but moving the
> deserialization type
> determination into BodyBuilder seems
> to break some well defined logical boundaries. (Plus as you
> pointed out,
> some of the tests fail when your changes
> are enabled.)
>
> Perhaps someone (not me) who is more knowledgeable of the SOAPElement
> construction could address your
> concerns about the large number of temporary objects
> constructed by Axis.
> Perhaps some of these objects could be
> pooled.
>
> If you would like to examine the ramifications of pooling some of the
> objects versus moving logical function, that would
> be a great help to the group.
>
> Thanks,
>
> Rich Scheuerle
> XML & Web Services Development
> 512-838-5115 (IBM TL 678-5115)
>
>
>
>
> Taras Shkvarchuk
>
> <tarass@grandcent To:
> "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
> ral.com> cc:
>
> Subject:
> Experiments on type serialization. (feedback very welcome)
> 02/15/2002 07:32
>
> AM
>
> Please respond to
>
> axis-dev
>
>
>
>
>
>
>
>
> Right now AXIS is always building a DOM like structure from
> MessageElement
> object. On top of that all SAX events are recorded for type
> deserialization.
> This leads to one memory hungry application.
>
> I was running some tests to serialize a Map of Strings (using my own
> deserializer for testing purposes).
> On a 6MB XML sample with 55618 map nodes, AXIS took 67.66MB
> of ram, and ran
> for 8.7sec on a PIII-850.
> On a 1MB body with 10618 nodes, AXIS took 13.6MB, and ran for 2.3 sec.
> This is raw parser time not including transport, etc... whole
> transaction
> is
> attached at the end of the message.
>
> What I was playing with was direct serialization into types, and also
> ability to turn off SAX recording.
> With my patches I was able to serialize 6MB message using
> only 10.0MB in
> 5.52sec
> And with SAX recoding 31.5MB was used in 6.65 sec.
>
> There maybe not such a dramatic speed improvement, but memory
> utilization
> is
> much better. Java's garbage collector will be happy :)
>
> My changes passed functional tests partially (dies on the one with
> phasers).
> So there is some more debugging for me to do, but the idea seems to be
> functional.
> you can control it from MessageContext by calling:
> msgContext.setResolveTypes(true);
> msgContext.setRecordingEvents(false);
>
> I will attach the complete source of the changes files, if
> anyone feels
> like
> looking at what ever part of it is working.
>
> Bellow is a breakdown of 2 tests.
> in this tests there was 1 text/plain attachment with contents of
> "ATTACHMENT
> DATA"
> Data was not read out of them, just counted number of
> attachments present.
>
> ****************************************************
> 6MB original:
> [PERFLOG] START - used 0.0 KB in 0.0 sec
> [PERFLOG] Req Ready - used 713.1328125 KB in 1.432 sec
> [PERFLOG] Invoked - used 21.133033752441406 MB in 2.414 sec
> Attchment count:1
> [PERFLOG] AttachExtracted - used 0.9609375 KB in 0.0 sec
> ResolveTypes:false
> Record Events:true
> [PERFLOG] Extracted ENV - used 38.475128173828125 MB in 5.157 sec
> [PERFLOG] Have Node - used 0.8359375 KB in 0.0 sec
> Total elements in list:55618
> [PERFLOG] Finished - used 29.194740295410156 MB in 3.565 sec
> [PERFLOG] TOTAL - used 89.50175476074219 MB in 12.568 sec
>
> ****************************************************
> 1MB original:
> [PERFLOG] START - used 0.0 KB in 0.0 sec
> [PERFLOG] Req Ready - used 1.3937301635742188 MB in 1.432 sec
> [PERFLOG] Invoked - used 673.7265625 KB in 3.405 sec
> Attchment count:1
> [PERFLOG] AttachExtracted - used 0.8828125 KB in 0.0 sec
> ResolveTypes:false
> Record Events:true
> [PERFLOG] Extracted ENV - used 6.904670715332031 MB in 1.573 sec
> I am of type:null
> [PERFLOG] Have Node - used 0.828125 KB in 0.0 sec
> Total elements in list:10618
> [PERFLOG] Finished - used 6.6721954345703125 MB in 0.771 sec
> [PERFLOG] TOTAL - used 15.630882263183594 MB in 7.181 sec
>
>
> ****************************************************
> 6MB direct serialization w/o SAX recoding:
> [PERFLOG] START - used 0.0 KB in 0.0 sec
> [PERFLOG] Req Ready - used 713.1328125 KB in 1.402 sec
> [PERFLOG] Invoked - used 21.133033752441406 MB in 2.374 sec
> Attchment count:1
> [PERFLOG] AttachExtracted - used 0.9609375 KB in 0.0 sec
> ResolveTypes:true
> Record Events:false
> [PERFLOG] Extracted ENV - used 10.00848388671875 MB in 5.528 sec
> [PERFLOG] Have Node - used 0.828125 KB in 0.0 sec
> Total elements in list:55618
> [PERFLOG] Finished - used 0.796875 KB in 0.0 sec
> [PERFLOG] TOTAL - used 31.84105682373047 MB in 9.384 sec
>
>
> ****************************************************
> 6MB direct serialization with SAX recoding:
>
> [PERFLOG] START - used 0.0 KB in 0.0 sec
> [PERFLOG] Req Ready - used 713.1328125 KB in 1.582 sec
> [PERFLOG] Invoked - used 21.133033752441406 MB in 2.403 sec
> Attchment count:1
> [PERFLOG] AttachExtracted - used 0.9609375 KB in 0.0 sec
> ResolveTypes:true
> Record Events:true
> [PERFLOG] Extracted ENV - used 31.537750244140625 MB in 6.65 sec
> [PERFLOG] Have Node - used 0.8359375 KB in 0.0 sec
> Total elements in list:55618
> [PERFLOG] Finished - used 0.796875 KB in 0.0 sec
> [PERFLOG] TOTAL - used 53.370330810546875 MB in 10.705 sec
>
>
>
>
> **** Attachment BodyBuilder.java has been removed from this note on 21
> February 2002 by R J Scheuerle Jr ****; **** Attachment
> MessageElement.java has been removed from this note
> on 21 February
> 2002 by R J Scheuerle Jr ****; **** Attachment
> RPCHandler.java has
> been removed from this note on 21 February 2002 by R
> J Scheuerle
> Jr ****; **** Attachment SOAPHandler.java has been
> removed from
> this note on 21 February 2002 by R J Scheuerle Jr ****; ****
> Attachment DeserializationContext.java has been
> removed from this
> note on 21 February 2002 by R J Scheuerle Jr ****;
> **** Attachment
> DeserializationContextImpl.java has been removed
> from this note on
> 21 February 2002 by R J Scheuerle Jr ****; **** Attachment
> DeserializerImpl.java has been removed from this note on 21
> February 2002 by R J Scheuerle Jr ****; **** Attachment
> SerializationContextImpl.java has been removed from
> this note on
> 21 February 2002 by R J Scheuerle Jr ****; **** Attachment
> MessageContext.java has been removed from this note
> on 21 February
> 2002 by R J Scheuerle Jr ****
>