[Seaside] Benchmark proposal

goran at krampe.se goran at krampe.se
Fri Jan 19 06:41:06 UTC 2007


"Ramon Leon" <ramon.leon at allresnet.com> wrote:
>       |        92.0% {50192ms} Dictionary>>valuesDo:
>       |          |92.0% {50192ms} Dictionary>>associationsDo:
>       |          |  92.0% {50192ms} Dictionary(Set)>>do:
>       |        2.7% {1473ms} SoapHref>>resolve
>     2.3% {1255ms} SoapCall>>invoke
>       2.3% {1255ms} SoapHttpConnector>>send:to:with:
> **Leaves**
> 92.1% {50247ms} Dictionary(Set)>>do:
> Which leaves me staring at #do: wondering where to proceed from here.  I
> emailed the author hoping maybe he'd have a better clue, but if anyone likes
> tweaking code... Here's some code that needs tweaking.

Since I just can't stay away from tuning stuff (it is so fun!) I found

First, I wondered why #do: ended up as a leaf, when it is clearly taking
so much time.
Set>>do: is just iterating over an array, so the #do: itself is probably
not the problem.
Looking at senders of #resolve we discover it does #isMemberOf: on each
element - but... that is not slow either.

But what about SoapHref>>resolve? Aha! Well, I have NO idea if I am
right - but my eyes quickly homed in on the #becomeForward:. :)
You could throw in some timing code to see if that is actually the spot
where it all goes.

regards, Göran

More information about the Seaside mailing list