On 28/05/2008, Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote:
> This leeway in the spec is good, as it allows good optimization
> techniques, related or non-related to lazy evaluation. One that
> immediately comes to mind is parallel application of <xsl:for-each> on
> many items of the sequence (likely dependent on the available free
> CPUs in the system)
This is a technical problem - how to do the scheduling. Especially if
you have nested xsl:for-each (or xsl:template).
Of course, this is just a problem for the implementor to overcome. But
there is no obvious best way.
> with subsequent combination of the results, so that they would be in the desired order.
But this is a really big problem. The XSLT spec. allows
implementations to stream the output. But this is no longer possible
(to the same extent) if you parallelize an output-producing
xsl:for-each or xsl:template/xsl:apply-templates.
So the problem is to determine when a parallel schedule can prove effective.
|