General comparisons of speed of xquery vs. xsltPer Bothner per at bothner.com
Wed Apr 28 13:58:18 PDT 2004
Michael Kay wrote: > In XQuery the natural technique is > always to pull, which means you end up doing more tree construction and > copying than is necessary. Interesting. I think of the natural technique is to "push". Perhaps we're talking about different things. To me "pull" means "output demand-driven" or as the funtional language community calls it "lazy evaluation". By analogy "push" would be "input data-driven", which I agree is appropriate for XSLT but not XQuery. Perhaps we need a new term for the following, which we might call "execution-driven": The basic control flow of the "interpreter" follows the "natural execution order" of the query. E.g. you execute a FLWOR by conceptually evaluting the input sequence, and then for each item you execute the 'result' body with the given binding. You execute a function call by executing each parameter, and then executing the function body with the given bindings. I think of this as "push" because each time a sub-expression is evaluated the result is pushed to its consumer. I guess you might think of this as "pull" because the choice which sub-expression to execute is done by the parent expression, which pulls a result from it. However, the "pulling" is a complete result sequence, not item-by-item as needed. To reduce materializing sequence, each item is pushed to a consumer. -- --Per Bothner http://xquery.com/mailman/listinfo/talk http://per.bothner.com/
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