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 **** >