|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] Re: OptimizationsRémi Dewitte remi at gide.netFri Oct 3 16:23:45 PDT 2008
Hi again, In the same spirit, this is not at all optimized. Maybe I need Saxon SA ? declare variable $level as xs:integer := 3 ; declare function local:debug($l as xs:integer,$what){ if($l >=4) then <debug>{$what}</debug> else () }; let $dosmthg := <oki>test trace</oki> return (local:debug($level,$dosmthg),$dosmthg) Rémi On Fri, Oct 3, 2008 at 3:17 PM, Rémi Dewitte <http://x-query.com/mailman/listinfo/talk> wrote: > Hi, > > I have made a little experiment after reading Michael (Kay) blog posts > about optimizations and recent James Fuller article. > > I have a question quite specific to saxon still interesting in general. > > Why in the following example even the function call is not skipped ? > > > XQuery is :: > > declare variable $level := 3; > > declare function local:debug($what){ > if($level >=4) then > <debug>{$what}</debug> > else () > }; > > let $dosmthg := <oki>test trace</oki> > > return > (local:debug($dosmthg),$dosmthg) > > When I run saxon with -explain we get > > <query> > <globalVariables> > <declareVariable name="level"> > <literal value="3" type="xs:integer"/> > </declareVariable> > </globalVariables> > <declareFunction name="local:debug" tailRecursive="false"> > <literal value="()"/> > </declareFunction> > <body> > <let variable="dosmthg" as="element(oki, { > http://www.w3.org/2001/XMLSchema}untyped<http://www.w3.org/2001/XMLSchema%7Duntyped> > )"> > <be> > <directElement name="oki" validation="skip"> > <valueOf> > <literal value="test trace" type="xs:string"/> > </valueOf> > </directElement> > </be> > <return> > <sequence> > <functionCall name="local:debug" tailCall="false"> > <variableReference name="dosmthg"/> > </functionCall> > <variableReference name="dosmthg"/> > </sequence> > </return> > </let> > </body> > </query> > > Cheers, > Rémi > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://x-query.com/pipermail/talk/attachments/20081003/4ddd291d/attachment.htm
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






