Discussion:
Performance tuning in msxsl/msxml
Dipesh Khakhkhar
2003-11-25 19:58:30 UTC
Permalink
Hi,

I am using msxsl processor to transform xml to xml first and the same xml to
text later. (loading same xml 2 times) In the first load i am getting xml
output file and i have used xsl:key element here.

According to the requirement i have to do this twice. The input xml is large
and i have to do this like 7 seven times to get data from seven different
categories in the input xml. So i am loading the same xml document for 14
times to get different outputs.

My questions are
1) How can i keep the same xml document in memory to be used by other 13 runs
?
2) With what parameter i can tune performance of msxsl. I had used vbscript
along with it so have to stuck with only msxsl processor ?
3) I have to run this on the server having 4 CPUs and memory will be 2 GB and
processor speed=800 Mhz. Can i optimize performance using CPU affinity factor
? I have already made this as high priority process, what else can be done to
get output faster.

I would be grateful if someone please inform me how to improve this
performance issue. Thanks in the anticipation that i will get some hints.

I hope i am able to explain my question clearly and purposely i have not
attached xsl and xml which are quite big. If my question is still not clear i
will attach small version of input xml and my xsls.

Regards,
Dipesh


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Mike Rawlins
2003-11-26 00:31:41 UTC
Permalink
Dipesh,

If you're using the msxsl command line processor, then there's no way to
keep a document in memory since you're running down and starting up the
program for each separate transformation. I don't know of any way to tune
either msxsl or the MSXML that it relies upon other than using general
Windows performance tuning techniques. However, you might want to post a
question about MSXSML tuning to the Microsoft MSXML newsgroup.

I think your best route, if think that you need to do these successive
transformations, is not to use msxsl at all but instead to write your own
program that would keep the source and transformed result documents as DOM
document objects in memory, then write them out to disk when all of the
transformations are complete. To learn how to do this you might look at
the msxsl source code and the transformNodeToObject method.

Mike
Post by Dipesh Khakhkhar
Hi,
I am using msxsl processor to transform xml to xml first and the same xml to
text later. (loading same xml 2 times) In the first load i am getting xml
output file and i have used xsl:key element here.
According to the requirement i have to do this twice. The input xml is large
and i have to do this like 7 seven times to get data from seven different
categories in the input xml. So i am loading the same xml document for 14
times to get different outputs.
My questions are
1) How can i keep the same xml document in memory to be used by other 13 runs
?
2) With what parameter i can tune performance of msxsl. I had used vbscript
along with it so have to stuck with only msxsl processor ?
3) I have to run this on the server having 4 CPUs and memory will be 2 GB and
processor speed=800 Mhz. Can i optimize performance using CPU affinity factor
? I have already made this as high priority process, what else can be done to
get output faster.
I would be grateful if someone please inform me how to improve this
performance issue. Thanks in the anticipation that i will get some hints.
I hope i am able to explain my question clearly and purposely i have not
attached xsl and xml which are quite big. If my question is still not clear i
will attach small version of input xml and my xsls.
Regards,
Dipesh
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
---------------------------------------------------------------
Michael C. Rawlins, Rawlins EC Consulting
www.rawlinsecconsulting.com
Using XML with Legacy Business Applications (Addison-Wesley, 2003)
www.awprofessional.com/titles/0321154940


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Loading...