You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Ovidiu Predescu <ov...@cup.hp.com> on 2002/02/21 20:20:00 UTC

Re: XSLT benchmarks: dbonerow

Jacek,

On Thu, 21 Feb 2002 11:07:42 -0500, "Jacek R. Ambroziak" <ja...@yahoo.com> wrote:

> The rewrite experiment only shows that there is a *serious bug*
> in the compiler code  AND  that there is *hope* for much improved
> performance of translets testing conditions in template patterns.
> 
> 'dbonerow' helped focus our attention.  There are other tests (eg. decoy)
> which seem affected by the same bug. And then there are of course
> many stylesheets written by our users :-)
> 
> The rewrite is of the form:
> 
> if (A && B) { ... }   -->  if (A) { if (B) { ... }}
> 
> If the second version is 300 times faster, then we've got
> something interesting going on here :-)

If the (A && B) expression is executed correctly, e.g. when A is
false, don't bother executing B, then the expressions are similar.

Is it possible that XSLTC doesn't do this optimization? I don't see
any other reason for such a huge difference.

Regards,
-- 
Ovidiu Predescu <ov...@cup.hp.com>
http://www.geocities.com/SiliconValley/Monitor/7464/ (GNU, Emacs, other stuff)

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: XSLT benchmarks: dbonerow

Posted by "Jacek R. Ambroziak" <ja...@yahoo.com>.
We are not talking about any optimizations here yet
but about a bug: XSLTC produces wrong code
on seeing  "row[id = '0432']"

I do not propose that people change their stylesheets,
not that XSLTC should do the rewrite internally.

When debugged it will be producing code "morally equivalent"
to the rewrite.

--Jacek


On Thursday 21 February 2002 02:20 pm, Ovidiu Predescu wrote:
> Jacek,
>
> On Thu, 21 Feb 2002 11:07:42 -0500, "Jacek R. Ambroziak" 
<ja...@yahoo.com> wrote:
> > The rewrite experiment only shows that there is a *serious bug*
> > in the compiler code  AND  that there is *hope* for much improved
> > performance of translets testing conditions in template patterns.
> >
> > 'dbonerow' helped focus our attention.  There are other tests (eg. decoy)
> > which seem affected by the same bug. And then there are of course
> > many stylesheets written by our users :-)
> >
> > The rewrite is of the form:
> >
> > if (A && B) { ... }   -->  if (A) { if (B) { ... }}
> >
> > If the second version is 300 times faster, then we've got
> > something interesting going on here :-)
>
> If the (A && B) expression is executed correctly, e.g. when A is
> false, don't bother executing B, then the expressions are similar.
>
> Is it possible that XSLTC doesn't do this optimization? I don't see
> any other reason for such a huge difference.
>
> Regards,


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: XSLT benchmarks: dbonerow

Posted by "Jacek R. Ambroziak" <ja...@yahoo.com>.
We are not talking about any optimizations here yet
but about a bug: XSLTC produces wrong code
on seeing  "row[id = '0432']"

I do not propose that people change their stylesheets,
not that XSLTC should do the rewrite internally.

When debugged it will be producing code "morally equivalent"
to the rewrite.

--Jacek


On Thursday 21 February 2002 02:20 pm, Ovidiu Predescu wrote:
> Jacek,
>
> On Thu, 21 Feb 2002 11:07:42 -0500, "Jacek R. Ambroziak" 
<ja...@yahoo.com> wrote:
> > The rewrite experiment only shows that there is a *serious bug*
> > in the compiler code  AND  that there is *hope* for much improved
> > performance of translets testing conditions in template patterns.
> >
> > 'dbonerow' helped focus our attention.  There are other tests (eg. decoy)
> > which seem affected by the same bug. And then there are of course
> > many stylesheets written by our users :-)
> >
> > The rewrite is of the form:
> >
> > if (A && B) { ... }   -->  if (A) { if (B) { ... }}
> >
> > If the second version is 300 times faster, then we've got
> > something interesting going on here :-)
>
> If the (A && B) expression is executed correctly, e.g. when A is
> false, don't bother executing B, then the expressions are similar.
>
> Is it possible that XSLTC doesn't do this optimization? I don't see
> any other reason for such a huge difference.
>
> Regards,


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com