http://bugzilla.novell.com/show_bug.cgi?id=585843
http://bugzilla.novell.com/show_bug.cgi?id=585843#c0 Summary: XslCompiledTransform major performance issue with select descendants specifying attribute values Classification: Mono Product: Mono: Class Libraries Version: 1.2.0 Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Sys.XML AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=346837) --> (http://bugzilla.novell.com/attachment.cgi?id=346837) xslt User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.3; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Using xpath descendants (//) with attribute match appears to be (at least?) 50 times slower on mono than on .NET The following xslt on a faily small data set (1MB) takes over 50s, on mono and under a second on .NET. <xsl:variable name="LexEntries" select="//LexEntry"/> <xsl:variable name="sAllStemNamesUsedInLexicalEntries"> <xsl:for-each select="$LexEntries"> <xsl:variable name="stemallos" select="//MoStemAllomorph[ @IsAbstract='0']"/> </xsl:for-each> </xsl:variable> Removing the attribute match [ @IsAbstract='0'] reduces the time to about 6 seconds on mono. Changing the //MoStemAllmorph to /M3Dump/Lexicon/Allomorphs/MoStemAllomorph reduces the time to about 2 seconds While doing both these changes reducing the time to about 1.5 seconds. Attaching Test case Reproducible: Always Steps to Reproduce: 1. Compile and run attached test case 2. 3. Actual Results: Transform: ..\..\transform.xsl input file: ..\..\data.xml Starting at: 09:12:31.7613750 Ending at: 09:13:24.4332500 Process took: 00:00:52.6718750 c:\out.txt Press any key to continue . . . Expected Results: Transform: ..\..\transform.xsl input file: ..\..\data.xml Starting at: 09:15:02.5113750 Ending at: 09:15:02.5895000 Process took: 00:00:00.0781250 c:\out.txt Press any key to continue . . . -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
