Hi all,
Can anybody tell me, how to execute the xsl stylesheet in the command
prompt.
Regards
Eugene
Mukul Gandhi <gandhi(_dot_)mukul(_at_)gmail(_dot_)com>
17.01.2006 09:16 AM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc
Subject
Re: [xsl] Recursion performance (fibonacci numbers)
Thanks Mike. I was using the wrong namespace. With
saxon:memo-function="yes" its quite fast.
Regards,
Mukul
On 1/17/06, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
saxon:memo-function="yes" works for me. I get
n time
1000 90msecs
2000 610msecs
It's not linear at large values of "n" because BigInteger arithmetic
takes
longer the larger "n" becomes; but the use of a memo function certainly
solves the XSLT-level problem.
Are you sure you used the right namespace http://saxon.sf.net/ ?
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Mukul Gandhi [mailto:gandhi(_dot_)mukul(_at_)gmail(_dot_)com]
Sent: 16 January 2006 15:08
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Recursion performance (fibonacci numbers)
Dear All,
I am running this XSLT stylesheet with Saxon b 8.6.1. This prints
1st n Fibonacci numbers, where n is supplied as a stylesheet
parameter.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:myfunc="http://dummy"
version="2.0">
<xsl:output method="text" />
<xsl:param name="n" />
<xsl:template match="/">
<xsl:for-each select="1 to $n">
<xsl:value-of select="myfunc:fibonacci(position())"
/><xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:function name="myfunc:fibonacci" as="xs:integer">
<xsl:param name="n" as="xs:integer" />
<xsl:sequence select="if (($n = 1) or ($n = 2))
then
1
else
(myfunc:fibonacci($n - 1) +
myfunc:fibonacci($n - 2))"
/>
</xsl:function>
</xsl:stylesheet>
The problem is, that it takes long time for large values of n. I
observed the following timing
n=32 -> 35.5 secs
n=33 -> 55.2 secs
n=34 -> 1 min 27.3 secs
n=35 -> 2 mins 20.1 secs
Is it possible I can improve the performance of this stylesheet for
large values of n?
Regards,
Mukul
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--