Subject: RE: Re: Incrementing a Global variable
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 28 Aug 2003 15:40:31 +0100
|
> If you have a function f(x) and and expression
>
> f(x) + f(x)
>
> it may be optimised to 2 * f(x) which means you only have to
> calculate the function once.
>
> However you can't do that if there is a possibility of the
> "function" doing something strange like incrementing teh
> value of some second variable y as in the first case y goes
> up by 2 and in the second it goes up by 1.
Unfortunately when it's
f(x) is f(x)
then you do have to evaluate the function twice; expressions in XPath
2.0 are allowed to have the limited side-effect of creating new,
distinct nodes.
The formal semanticists seem happy that this is under control, but I
can't say I've worked out all the implications for my optimizer yet!
Michael Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|