I know what you were worried about... FWIW, I'm worried about the UUID
thing as well.

I'm also worried about the (now) 4% taken setting up transport
information when it's really not clear what's CPU intensive in there
(or that it should be).

David

On 05/02/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
David,

Latest run (fresh from svn), it's about 4%...It's the getUUID's and
string concat to make the correlation id's. that's what i was talking
about :)

http://ws.zones.apache.org/~dims/msg-context-003.png

-- dims

On 2/5/07, David Illsley <[EMAIL PROTECTED]> wrote:
> Hi Dims,
> Looking at uuid-001.png,
> AxisServlet.createAndSetInitialParamsToMsgCtxt is causing 5% of the
> total time which seems a lot for what I thought it was doing. I don't
> have a profiler to hand, could you show us a breakdown of what that
> method is calling and why it's taking so long?
>
> Cheers,
> David
>
> On 05/02/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
> > Here's one more. Proliferation of getUUID's.
> >
> > http://ws.zones.apache.org/~dims/uuid-001.png
> > http://ws.zones.apache.org/~dims/uuid-002.png
> >
> > We used to call getUUID once or at most twice. Now we create 6 uuid's
> > for each req/resp taking up 1.9% (375/19533 * 100). Please change the
> > code to create the correlation uuid's only when trace/debug flag is
> > on. Otherwise, they should not be created.
> >
> > thanks,
> > dims
> >
> > On 2/4/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
> > > Bill,
> > >
> > > I just started looking into the perf aspects of this checkin...Here's
> > > the first one. Please see the following 2 images:
> > >
> > > http://people.apache.org/~dims/msg-context-001.png
> > > http://people.apache.org/~dims/msg-context-002.png
> > >
> > > As you can plainly see, the servlet is called 2500 times, and takes a
> > > total time of 20360 ms . The method checkActivateWarning which is
> > > basically a no-op gets called 257,500 times and takes a total of 234
> > > ms. Which is basically 1.14% of the total time taken to process the
> > > messages. Am sure you agree that checkActivateWarning  not present in
> > > r495105 and was introduced later.
> > >
> > > So am going to get rid of it. thanks.
> > >
> > > thanks,
> > > dims
> > >
> > > On 1/29/07, Bill Nagy <[EMAIL PROTECTED]> wrote:
> > > > Hi Sanjiva,
> > > >
> > > > On Mon, 2007-01-29 at 23:42 +0530, Sanjiva Weerawarana wrote:
> > > > > Bill, IMO I made a mistake in lifting my -1 on this patch .. this
> > > > > could've and should've gone in as an auxiliary bit of code without
> > > > > modifying MC at all. Calling mc.activateMessageContext on *every*
> > > > > message that comes in seems like a major ovehead to the mind even if 
not
> > > > > to the body (you know what I mean). There was no technical need
> > > > > whatsoever for this code to be in MC itself for Matt to be able to do
> > > > > whatever he needs to make Sandesha persist using Java object
> > > > > serialization instead of the serialization architecture that exists
> > > > > now.
> > > > >
> > > > > Next time I won't give in so easy :).
> > > >
> > > > You are certainly entitled to your opinion; I did attempt to continue
> > > > the discussion.
> > > >
> > > > >
> > > > > In any case, I'm yet to see an explanation from Anne for the algorithm
> > > > > used to figure out the parent service context etc. for a message
> > > > > context. Anne, can you explain how you're going about figuring those
> > > > > refs out please? Please don't say RTFS :(.
> > > > >
> > > >
> > > > I will make sure that she is aware of your request.
> > > >
> > > > > We need to performance compare 1.1.1 with the current head and see 
what
> > > > > the impact of this change is.
> > > >
> > > > I would be more than happy for someone to compare r495105 to r495106(the
> > > > version where the changes were committed) and would be more than willing
> > > > to address any performance concerns that arise from that comparison.
> > > >
> > > > >
> > > > > On code conventions- search the archives please .. we've had lots of
> > > > > discussion on this in the early days and decided on the conventions. 
I'm
> > > > > pretty sure we put them in the wiki somewhere but have no idea where 
off
> > > > > the top of my head :(. Interestingly, even the original JAX-WS 
proposal
> > > > > by IBM mentions coding conventions:
> > > > > http://wiki.apache.org/ws/FrontPage/Axis2/JAX-WS-Proposal. so maybe
> > > > > someone in IBM found a ref?
> > > >
> > > > I was unable to find them on the wiki (I looked at both the current as
> > > > well as the old root pages.)  The JAX-WS proposal only speaks in the
> > > > abstract about code organization -- it says nothing about the formatting
> > > > of Java source files.  Certainly you can't expect people to adhere to
> > > > coding guidelines that only appear in email messages from almost 2 years
> > > > ago or even know that they exist in the first place.
> > > >
> > > > -Bill
> > > >
> > > > >
> > > > > Sanjiva.
> > > > >
> > > > > On Mon, 2007-01-29 at 07:27 -0800, Bill Nagy wrote:
> > > > > > Hi Deepal,
> > > > > >
> > > > > > On Mon, 2007-01-29 at 11:41 +0530, Deepal Jayasinghe wrote:
> > > > > > > Hi all;
> > > > > > >
> > > > > > > I just went though the current code base and realized that
> > > > > > > MessageContext code has been changed a lot . I found few issues 
with the
> > > > > > > code base and hope we need to fix them. So I thought of sending 
this
> > > > > > > mail for everyone's consideration.
> > > > > > >
> > > > > > > Well someone please explain to me whose going to need 
MessageContext
> > > > > > > serialization ,
> > > > > > >  Chamikara : Do you want that for Sandesha ?
> > > > > > >  Ruchith : Do you want that for Security ?
> > > > > > > If none of you want this , who else need this ?
> > > > > >
> > > > > > As Matt pointed out, we went through this on an earlier discussion 
--
> > > > > > Sandesha is the intended consumer.
> > > > > >
> > > > > >
> > > > > > > I am asking this question b'coz introduction of MC serialization 
we have
> > > > > > > the following for each req.
> > > > > > >  - When ever Axis2 received a message it calls
> > > > > > > activateMessageContext(msgContext);
> > > > > > >  - And what that does is , it calls mc.activate(engineContext); 
method
> > > > > > >
> > > > > > > Unfortunately that method is TOO long and was very difficult to
> > > > > > > understand:). Ann can you simplify the method (that will be very 
helpful) .
> > > > > >
> > > > > > Actually, if you notice, the first line of 
MessageContext.activate(...)
> > > > > > is a short-circuit test on needsToBeReconciled, which is only ever 
set
> > > > > > when the MessageContext (and related parts) are deserialized using 
the
> > > > > > MessageContext deserialization routines -- for all other cases, it 
ends
> > > > > > up being a no-op so you can stop reading at that point 8-].  As for 
the
> > > > > > method being too long, of the 306 lines in that method, 110 are
> > > > > > comments/log messages, and the rest of the code consists of
> > > > > > if-not-null-invoke-a-method blocks.  Unfortunately the 
MessageContext
> > > > > > has a lot of handles to other objects, so there need to be a number 
of
> > > > > > those tests.  If you're having difficulty understanding a particular
> > > > > > section of that method, please ask and we'd be happy to explain it 
to
> > > > > > you.
> > > > > >
> > > > > > I certainly think that the rest of the code could use some "code
> > > > > > bloat" (i.e. comments) -- e.g. there are no class-level comments on
> > > > > > ListenerManager, AxisConfiguration, PhaseResolver (just to name a 
few.)
> > > > > >
> > > > > > >
> > > > > > > In the meantime code convention in MC has changed a lot and need 
to have
> > > > > > > very consistent code convention, please do not differ form that.
> > > > > >
> > > > > > This is the second time that "code conventions" have been mentioned
> > > > > > (Sanjiva brought this up in an earlier discussion as well) -- I was 
not
> > > > > > aware of these, and was unable to find anything in the docs that 
talk
> > > > > > about them.  (The Developer Guidelines only talk about the mailing
> > > > > > list.)  Could you please point me to where these are codified?
> > > > > >
> > > > > > > Among the all , the most worst thing I saw in the code is 
following kind
> > > > > > > of things, I strongly believe we should not have this kind of 
code in
> > > > > > > the code base, If you found such kind of code please point out 
them then
> > > > > > > and there.
> > > > > > >
> > > > > > >  - String tmpClassNameStr = "null";   (is this the way we 
initialize to
> > > > > > > NULL )
> > > > > > >  - String tmpHasList      = "no list"
> > > > > > >  - Unnecessary casting
> > > > > > >  - A number of unused variables
> > > > > > >  - Variable declarations here and there  (as an example private 
static
> > > > > > > final String  - selfManagedDataDelimiter = "*";)
> > > > > >
> > > > > > I'm indifferent on the first two; in some cases it makes the code 
easier
> > > > > > to read and debug at the cost of an assignment and space in the 
string
> > > > > > table.  The third one should be caught by any decent compiler and
> > > > > > eliminated (so long as you're not casting back and forth) and again
> > > > > > sometimes enhances readability so I'm indifferent on this one as 
well.
> > > > > > I agree on the fourth -- I don't think that there's ever a good 
case for
> > > > > > extraneous variables.  The fifth is again a code readability issue 
and
> > > > > > one of the reasons that Java doesn't require that you declare 
everything
> > > > > > up front.
> > > > > >
> > > > > > -Bill
> > > > > >
> > > > > >
> > > > > > 
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > > --
> > > Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
> > >
> >
> >
> > --
> > Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> David Illsley - IBM Web Services Development
>


--
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers



--
David Illsley - IBM Web Services Development

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to