[Seaside] slowdown in squeak3.8

Avi Bryant avi.bryant at gmail.com
Sat Jun 25 13:34:29 CEST 2005


On 6/25/05, radoslav hodnicak <rh at 4096.sk> wrote:
> 
> 
> On Fri, 24 Jun 2005, Avi Bryant wrote:
> 
> >> Overall, the time to generate my pages (from cached data, on a 2.8G P4)
> >> started to go over 500ms towards 1s ... which is not impressive.
> >
> > Wow, that's brutal.  How does the time usage break down?  What (apart
> > from m17n) are the hotspots?
> 
> One hotspot is WAHtmlRenderer>>anchorWithAction:do:
> On a link-heavy page (it's not unusual for my pages to have 300 or 500
> anchors) this can take up to 60% of the time (most of it is spent in
> WAHtmlRenderer>>urlForAction: ... String>>encodeForHTTP).
> 
> However, even after I removed calls to encodeForHTTP, rendering anchors
> takes about 40% of page time (well, which is not really suprising since
> there are many anchors to render ...)

Oh, yeah, I actually put in an optimization for that at some point
that now seems to have disappeared.  The idea was to store an
actionUrlString in the rendering context and use it in most places -
so, something like this:

WARenderingContext>>actionUrl: aUrl
  actionUrl := aUrl.
  actionUrlString := actionUrl displayString

WAHtmlRenderer>>urlForAction: aBlock
   ^ self context actionUrlString, '&', (self context
registerActionCallback: aBlock)

Does that help much?

Avi


More information about the Seaside mailing list