On Fri, Oct 3, 2008 at 10:07 AM, John Hjelmstad <[EMAIL PROTECTED]> wrote:

> On Fri, Oct 3, 2008 at 9:50 AM, Paul Lindner <[EMAIL PROTECTED]> wrote:
>
> > It seems to me that parsing Gadget XML should be the least of our
> worries,
> > especially if you can insure that the content that's hitting the browser
> > only varies by country and language and view.
>
>
> Correct me if I'm wrong, but that would seem to be thrown out the window
> with proxied rendering.
>
>
> >
> >
> > By moving the parentUrl to the hash I've been able to accomplish this for
> > hi5 -- iframes are cached at the browser and CDN level.
> >
> > That said this leave out UserPref support, but I'm fine with that as a
> > tradeoff.
> >
> > Perhaps we should focus on delivering the application as one cacheable
> > chunk and the per-user/preload data in a second chunk?
>
>
> That's actually what type=html applications do, even with __UP substitution
> (since the UPs are passed on the querystring). Likewise any
> OpenSocial-templated applications. But proxied throws that out as well,
> unless we add some caching headers that proxied content rendering can pass
> back telling us the content is cacheable for all users (eg. it contains
> only
> substitution constructs such as templates).


You can't ever do that because you need a security token to do the proxied
rendering.


> Thinking about this some more:
> 1. It seems unlikely that parsing cost, even if 25ms, will be a substantial
> component to proxied content rendering latency. Getting the actual,
> uncacheable data from the app server will be, unless it's specially
> indicated as cacheable in the first place - at which point we may as well
> cache the parsed tree as a small optimization. IMO that just calls for
> passing isCacheable to a caching parser.


The data itself is frequently cacheable, especially if it's owner keyed --
but you MUST validate the security token for this data, because it contains
user information. If you visit the same profile 100x in a row, the data from
the remote site is still cached, it's just that the iframe isn't.


> 2. FWIW, the parsing time of 25ms for BuddyPoke (as with the other numbers)
> comes from my developer workstation running the test in Eclipse. The
> numbers
> are intended to be relative. Kevin -- under which environment did you see
> 10ms cajoling?


Running shindig on my own workstation through the YourKit java profiler I
got 22ms for link rewriting (after making modifications so that it worked
correctly) and 9ms for cajoling.


>
>
> Paul, what's your plan for dealing with proxied content latency?
>
> -John
>
>
> >
> >
> >
> > On Oct 3, 2008, at 9:35 AM, John Hjelmstad wrote:
> >
> >  Hi Ian:
> >> You're right, it's the gadget XML parse prior to manipulation. It's
> doing
> >> DOM-based parsing, and I suspect you're right about the load of small
> >> objects involved. At present I see that as a requirement, though, to
> deal
> >> with semi-well-formed input. We've talked about requiring XHTML or
> >> something
> >> close to it as a prerequisite for rewriting - which would make parsing
> >> vastly easier and rather trivial to implement - but that's a spec issue
> if
> >> it's to be a general platform requirement.
> >>
> >> --John
> >>
> >> On Fri, Oct 3, 2008 at 12:53 AM, Ian Boston <[EMAIL PROTECTED]> wrote:
> >>
> >>  I don't know the precise details of this conversation or exactly which
> >>> parsing, CajaHtmlParser or XmlUtil.parse, you are talking about, but if
> >>> its
> >>> the Gadget XML parse prior to manipulation, and this is still using DOM
> >>> based parsing, then its probably going to be slower than SAX under
> load,
> >>> and
> >>> vastly slower than Stax. The reason I say under load, is that DOM
> parsers
> >>> tend emit lots of small objects which, once they get out of eden,
> >>> overload
> >>> the GC which will dominate as resources become scarce. Having said
> that,
> >>> gadget parse trees probably don't exist long enough to get out of eden.
> >>>
> >>> Ignore me if you are talking about some other parsing going on within
> >>> gadgets.
> >>> Ian
> >>>
> >>>
> >>> On 3 Oct 2008, at 02:03, Kevin Brown wrote:
> >>>
> >>> The real thing we should be investigating is why it takes 25ms to use
> the
> >>>
> >>>> parser on buddypoke when it only takes 10ms to cajole it.
> >>>>
> >>>>
> >>>
> >>>
> > Paul Lindner
> > [EMAIL PROTECTED]
> >
> >
> >
> >
>

Reply via email to