axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksander Slominski <as...@cs.indiana.edu>
Subject Re: FW: [Axis2] Can OM with differed building really be so effective in Axis2?
Date Tue, 05 Apr 2005 02:21:09 GMT
Eran Chinthaka wrote:

>Hi,
>
>  
>
>>Hi all,
>>
>>Sorry for bothering everybody. I'm not sure whether this question is
>>appropriate for this maillist. If not, please apprise me and I'll
>>never commit it again:)
>>    
>>
>
>This is it. No problem ;)
>
>  
>
>>I'm very interested in Axis2 and I know performance is a big goal of
>>Axis2. But, I really wonder whether the differed building can help to
>>enhance the performance a lot AT SERVER SIDE. My suspicion is based on
>>the follow  points:
>>
>>(a). Almost all the SOAP services need the parsed SOAP envelope (the
>>echoXML sample service maybe an exception), so differed building does
>>not mean no building. That is to say, parsing and building is
>>unavoidable mostly.
>>    
>>
>
>Well, if you take a SOAP envelope it has mainly two parts. Namely; the
>headers and the body.
>
>In our Axis 2 architecture we have handlers which "mostly" work with headers
>and do not touch the body. This is where we introduced the differed
>building. We  build OM only upto the body, in other words we parse and build
>headers only. Then if someone needs the body (most of the time it's the
>provider, in Axis 2 its message receiver), then ONLY we parse and build the
>body. 
>
>Talking about OM architecture, we removed all the unnecessary stuff from the
>code and put only things we require only. 
>
>This is very much efficient in terms of memory. And the performance tests we
>have done so far (http://wiki.apache.org/ws/FrontPage/Architecture/OMPerf)
>revealed that OM is better than existing xml object models.
>  
>
hmm - i would like such statements to come with a better supporting 
evidence or pre-qualified with lot of explanation what was tested, what 
were limitations etc etc (i think we already had discussed in past ...)

[as a though experiment: if you gave to somebody link to 
http://wiki.apache.org/ws/FrontPage/Architecture/OMPerf how long would 
it take them to run tests and reproduce results (that is assuming that 
SVN links are fixed ...)? what were parameters/command line used, 
version of Java, machine, etc etc. - i could not find exact parameters 
used to pass to modified XMLBench at 
http://wiki.apache.org/ws/FrontPage/Architecture/OMPerGuide]

>Then we did some overall perf tests for Axis 2 and it we have achieved 2-3x
>performance than Axis 1.x.
>  
>
that is not a big gain (Axis 1.x performance/memory problems are well 
know) and again it strongly depends on what you tested so the same 
disclaimers should apply ...

i think benchmarks are almost /useless/ in general and even worse they 
can create disinformation and be played to gain any results desirable 
... making very explicit how tests were performed, making available 
(easy to run ...) test code for reproduction may help with credibility.

for me the only use of benchmarks is to discover problems by doing 
stress testing of some specific pieces of implementation - and even in 
doing  there is risk that fixing problems identified in benchmarks by 
making code optimizations will make code less maintainable and may even 
make impl perform worse for other cases untested in benchmark ...

YMMV,

alek

-- 
The best way to predict the future is to invent it - Alan Kay


Mime
View raw message