Subject: [xsl] RE: Self-Recursive Templates that split, Performance tips?|
From: David Rudel <fwqhgads@xxxxxxxxx>
Date: Wed, 12 Mar 2014 12:43:32 +0100
I'm looking for any pointers on speeding up an algorithm that uses self-recursion, but the self-recursion can spawn multiple new instances. For example, imagine that the template AMOEBA is meant to model an amoeba walking around on a surface. AMOEBA is called with two parameters: a location indicating where the amoeba is and a map indicating the terrain: <xsl:template name="AMOEBA"> <xsl:param name="location" as "xs:double+"/> <xsl:param name="Terrain" as "map(*)"/> And based on the location and terrain, the amoeba takes a new step, calling itself with the new location and a new terrain map. NOTE: the new terrain map is a slight modification of the old terrain map. But sometimes the Amoeba needs to split into two amoeba, so in some cases the AMOEBA template will actually need to call two separate versions of itself (with different locations and terrains). Any tips for how to accomplish this with as good performance as possible, given that it is impossible for both calls to be in tail position? -David -- "A false conclusion, once arrived at and widely accepted is not dislodged easily, and the less it is understood, the more tenaciously it is held." - Cantor's Law of Preservation of Ignorance.