XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Remove leading Zeros from a st... (4)
-> + how to parse a html element fo... (2)
-> + Add namespaces to target messa... (2)
-> + XSLT Transformation - insertin... (3)
-> + Convert binary xml (9)
-> + XSLT Transformation (4)
-> + Generating hyperlinks (3)
-> + XSLT to PDF problem (with JAVA... (2)
-> + how to add onclick_ with try/c... (2)
-> + Keep table in one page. xsl-fo... (4)
-> + Cannot find a matching 2-argum... (3)
-> + Creating one string from a sub... (2)
-> + XSLT: Traversing XML twice for... (6)
-> + Copy element without namespace... (5)
-> + Create dynamic elemant name (2)
-> + XSLT: Traversing XML twice for... (3)
-> + Problem including Javascript (2)
-> + Looping through attributes (4)
-> + Transform values into elements... (4)
-> + Problem with deep node copy an... (2)
-> + Comparing Dates With ASP.NET 2... (3)
-> + Converting tree structure to h... (4)
-> + Attributes to element transfor... (2)
-> + XSLT transformation (2)
-> + XSLT transformation (5)
-> + xsl:character-map not working (2)
-> + Removing duplicates entries. (2)
-> + Image issues. (2)
-> + xsl transformation (4)
-> + XSL Question (5)
-> + how to insert xml file as an n... (2)
-> + Document Function (2)
-> + convert seconds to hh:mm:ss (5)
-> + how to remove attribute while ... (3)
-> + XSL-FO question (2)
-> + EDI 997 creation. (7)
-> + Line break within a tag in XML... (2)
-> + Contact Help Needed (2)
-> + ACK 997 (2)
-> + XSLT to output XML( which conf... (11)
-> + Retrieving all nodes where a c... (6)
-> + Verifying XML and XSD within X... (4)
-> + How to validate date format in... (3)
-> + XSLT question (2)
-> + Muenchian grouping (2)
-> + How to remove specific text en... (8)
-> + If Else Condition along with L... (2)
-> + SAXON Problem (2)
-> + comapring global variable valu... (2)
-> + copying the value of xsl in va... (2)
-> + Urgent:XSLT element value sel... (2)
-> + Ignoring first element using f... (2)
-> + EDI X12 to XML (4)
-> + XSLT FOR-EACH HELP (2)
-> + Sorting Help Needed (3)
-> + XSLT help with linking (2)
-> + selecting data into node set b... (2)
-> + Watch and Variable in Debug no... (4)
-> + Transforming XML to XML - grou... (2)
-> + Saxon 9.0 B support in debug m... (2)
-> + Repeating element question (2)
-> + Newly Purchased Version Not La... (2)
-> + xsl:include not finding file (5)
-> + JAXP and XSLT 2.0 / XPATH 2.0 (2)
-> + ASP:DropDownList trigger in Xs... (2)
-> + Auto-Skip empty values (2)
-> + retrieving a javascript functi... (2)
-> + need help (2)
-> + html tag ignored (2)
-> + Quick reply needed (8)
-> + xslt to remove namespaces but ... (2)
-> - Using a WSDL definition in an ... (1)
-> + XSL logic issue for simple inp... (6)
-> + Regarding XML namespace prefix... (4)
-> + Mapper reoganizes itself. (8)
-> + XSL Substring Removal (2)
-> + Regarding XSLT logic for a sim... (3)
-> + XSLT Transform documentation (2)
-> + XSLT stack trace in case of er... (3)
-> + No New Line (2)
-> - No New Line (1)
-> + howto loop through a sequence (2)
-> + xml and xsl and whitespace in... (2)
-> + XSL Date formatting (4)
-> + XSL to XSL Mapping using custo... (4)
-> + flat xml to nested xml comvers... (4)
-> + Including schema in scenario (2)
-> + DTDs and traversing (2)
-> + Help with transformation (2)
-> + Problem running XSLT against X... (2)
-> + Carriage return in the output (5)
-> + Generating XSLT to match a sch... (3)
-> + WYSIWYG editor (2)
-> + Grouping without For-Each (3)
-> + output XML using XSLT (8)
-> + Help configuring Xalan-j proce... (8)
-> + Convert Existing HTML pages to... (2)
-> + Generating Transformation - XS... (4)
-> + DOCTYPE public and system info... (2)
-> + Using EXSLT str:tokenize funct... (5)
-- Previous [661-680] [681-700] [701-720] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Adam Van den HovenSubject: Memory problems
Author: Adam Van den Hoven
Date: 07 Sep 2001 05:29 PM
Hey guys,

I've discovered some really scarry memory issues, I'm attaching the files I used. If I step through the code, within a few steps my memory usage shoots up. If I keep going, or simply run without steping, I quickly run out of virtual memory and have to do a hard reboot. The problem seems to be tied with the use of variables containing nodesets since if I store strings (via the string() function) the problem is greatly reduced.

Here's what my rough measurement of the problem. What I did was open all the files I've attached and then place a breakpoint on the {xsl:template match='/'} line. I then recorded the total memory usage (as reported by the statusbar of taskmanager) before running. I then started the processor and recored the memory at step 0. Each time I pressed F11, I recorded the memory usage and the line where the arrow was pointing after pressing F11 (so after the first step the pointer was on the comment line). Once the memory usage approached 600megs, I quit the process, restarted stylus studio and ran the _fixed template in the exact same fashion

Open Files:
getItemResourceURL.xsl
getItemResourceURL_fixed.xsl
Configlib.xsl
config.xml

In both getItem*.xsl files place a breakpoint on the line:

step through the original then the _fixed files














Memory Usage
StepusagePointer on
before123072
0193212template match="/"
1192992Comment line
2193008first variable
3196136Second variable line
4254808Call-template line
5255684template name=ResolvePath in config.xsl
6255796path pathnodes
7254836path pathid
8309532path pathtype
9420444variable CurrentPath
10Quit the process when the memory usage got over 590000k



_fixed:















Memory Usage
StepusagePointer on
before124180
0193004template match="/"
1193008Comment line
2192128first variable
3197076Second variable line
4197056Call-template line
5197092template name=ResolvePath in config.xsl
6197096path pathnodes
7197100path pathid
8197100path pathtype
9197104variable CurrentPath
10197120choose




ApplicationConfigLib.xsl


DocumentConfig.xml

Postnext
Adam Van den HovenSubject: Memory problems
Author: Adam Van den Hoven
Date: 07 Sep 2001 05:32 PM
OOps here are the rest... and those tables (I thought it was going to reneder the HTML correctly) in tab delimited:
orig
Memory Usage

Step orig Pointer on
before 123072
0 193212 template match="/"
1 192992 Comment line
2 193008 first variable
3 196136 Second variable line
4 254808 Call-template line
5 255684 template name=ResolvePath in config.xsl
6 255796 path pathnodes
7 254836 path pathid
8 309532 path pathtype
9 420444 variable CurrentPath
10 Quit the process when the memory usage got over 590000k


_fixed:

Memory Usage

Step orig Pointer on
before 124180
0 193004 template match="/"
1 193008 Comment line
2 192128 first variable
3 197076 Second variable line
4 197056 Call-template line
5 197092 template name=ResolvePath in config.xsl
6 197096 path pathnodes
7 197100 path pathid
8 197100 path pathtype
9 197104 variable CurrentPath
10 197120 choose


DocumentgetItemResourceURL.xsl


DocumentgetItemResourceURL_fixed.xsl

Postnext
Adam Van den HovenSubject: Memory problems
Author: Adam Van den Hoven
Date: 07 Sep 2001 05:37 PM
One more thing, you should probably set the id 'CmpStack', although I didn't when I ran my tests.

Postnext
Minollo I.Subject: Re: Memory problems
Author: Minollo I.
Date: 07 Sep 2001 05:40 PM
Thanks Adam; we'll run your testcase so that we can see what's going on.
We'll keep you posted.
Minollo

Posttop
Minollo I.Subject: Re: Memory problems
Author: Minollo I.
Date: 10 Sep 2001 03:43 PM
Adam,
we have worked hard during the weekend to understand the source of the
problem you have reported. We have found a couple of issues that were
making the XPath processor leak huge amounts of memory when executed on the
type of XPath expressions you are using, and also a big performance issue
when working on variables containing node-sets (as you suspected).

The good news is that we have been able to fix both issues, and that now
your testcase stylesheet is processed in less than two seconds (compared to
a similar result using MSXML and to about 5 minutes using Xalan-J) with
stable memory consumption.

We are now running regression tests; if everything goes smoothly we will
release a build containing these (and other fixes) later this night or
tomorrow.

Thanks for your help and patience,
Minollo

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.