Re: Good, free profiling?

"Malcolm Edgar" <[email protected]> Fri, 03 Jan 2003 19:28:25 +0800
Newsgroups gmane.comp.java.tapestry.contrib
Message-ID <[email protected]>
Hi Howard,

the US/Aust time difference is catching me out here, as I had already 
checked the Global stuff in before I got your answer. Next time I will wait 
a little longer. Its pretty non-obstrusive/simple stuff, so I cant see it 
causing any problems.

regards Malcolm

>From: "Howard M. Lewis Ship" <[email protected]>
>To: "Malcolm Edgar" 
><[email protected]>,<[email protected]>
>Subject: Re: [Tapestry-contrib] Good, free profiling?
>Date: Thu, 2 Jan 2003 06:45:45 -0500
>
> > Do you have any thoughts on whether the Global object should be included
>in
> > 2.3 or 2.4?
>
>2.4
>
>2.4 is not that far off, given the head start we have on it.  I'd rather we
>put 2.3 to bed as soon as possible.
>
> >
> > regards Malcolm
> >
> > >From: "Howard M. Lewis Ship" <[email protected]>
> > >To: "Tapestry Contrib" <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
> > >Subject: [Tapestry-contrib] Good, free profiling?
> > >Date: Wed, 1 Jan 2003 23:03:24 -0500
> > >
> > >Is there a good, free (and/or open source) profiling tool?
> > >
> > >Tapestry 2.4 performance may be slipping a little; I can't tell because 
>I
> > >don't have access to any profiling tools.  Luis Neves has previously
> > >commented that the bottleneck he observes is in character-to-byte
> > >conversions, deep inside java.io.  I'm now concerned that all the cool
>2.4
> > >features such as dynamic page and component discovery are also eating 
>up
> > >too
> > >many cycles (especially when a page is first loaded).  Also, I'm 
>getting
> > >concerned about inneficient threading, since there are more chunks of
> > >Tapestry that must be synchronized.
> > >
> > >The new page persistance stuff is working well, though its a bit more
>picky
> > >about what types of objects are allowed as persitent properties.  Each
> > >persistant page property is now stored individually in the HttpSession.
> > >The
> > >engine now only stores a list of pages with persistent properties.
> > >
> > >The basic types, such as String, Number, Boolean work fine.  It
> > >differentiates between mutable and immutable objects.  Immutable 
>objects
> > >are
> > >String, Number, Boolean, java.util.Date (which is slightly fudging), 
>Enum
> > >and anything marked as IImmutable (a new marker interface for immutable
> > >objects).
> > >
> > >Mutable objects are tougher since the persistance wants to keep an
>isolated
> > >copy of properties.  That is, fireObservedChange() results in a copy
>being
> > >made, and when a page is rolled back in a later request cycle, a copy 
>(of
> > >the copy) is made.
> > >
> > >It's less efficient, but it means no surprises, especially in a 
>clustered
> > >environment.  It forces the user to be careful about setting values, 
>you
> > >must follow a get/modify/set pattern, no fudging.  It's also going to
>help
> > >with some timing issues that occur when multiple requests against the
>same
> > >engine run concurrently ... triggered by frames, but also by private
> > >assets.
> > >
> > >The problem is handling the copying of values.  At best, its going to 
>do
>a
> > >shallow copy.  As a last resort, Serializable objects are serialized 
>and
> > >deserialzed (to make a deep copy).
> > >
> > >Individual classes or interfaces need their own handler (IValueCopier)
> > >registered with a IValuePersister.  The good news is this provides a
>clean
> > >way to handle things like EJBObject (which is now converted to an
> > >EJBObjectWrapper, which implements Serializable to read and write the
> > >object's handle).
> > >
> > >However, for mutable objects like List, a specific handler must be
>created,
> > >i.e.:
> > >
> > >public class ListCopier implements IValueCopier
> > >{
> > >     public Object makeCopyOfValue(Object value)
> > >     {
> > >         List list = (List)value;
> > >         return new ArrayList(list);
> > >     }
> > >}
> > >
> > >I think this is the right course to pursue, but I'm concerned that the
> > >framework will get finicky.
> > >
> > >Status: 22,440 NCLOC, 70.5% coverage
> > >
> > >----
> > >Howard Lewis Ship
> > >[email protected]
> > >http://tapestry.sf.net
> > >
> > >
> > >
> > >-------------------------------------------------------
> > >This sf.net email is sponsored by:ThinkGeek
> > >Welcome to geek heaven.
> > >http://thinkgeek.com/sf
> > >_______________________________________________
> > >Tapestry-contrib mailing list
> > >Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > >https://lists.sourceforge.net/lists/listinfo/tapestry-contrib
> >
> >
> > _________________________________________________________________
> > The new MSN 8: smart spam protection and 2 months FREE*
> > http://join.msn.com/?page=features/junkmail
> >
> >
>
>
>
>-------------------------------------------------------
>This sf.net email is sponsored by:ThinkGeek
>Welcome to geek heaven.
>http://thinkgeek.com/sf
>_______________________________________________
>Tapestry-contrib mailing list
>Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>https://lists.sourceforge.net/lists/listinfo/tapestry-contrib


_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf