Hi,

Morris Kwan wrote:
Credits:

Henry Zongaro & Morris Kwan:  Leading developers in DTM integration and
performance improvement
Brian Minchau:  Leading developer in the common serializer design and
implementation
Igor Hersht:  XSLTC conformance bug fixes and performance run
Myriam Midy:  Initial infrastructure work on XSLTC_DTM

I checked out the XSLTC_DTM branch to test it on our XSL framework,
congratulations for your great work at improving Xalan/XSLTC
performance !

Comments or concerns are welcomed.

I had some failures on transformation with XSLTC_DTM, but didn't
have time to investigate those, will submit bug entries as soon
as I can isolate a test case.

The main issue I had to deal with was with the DocumentCache that
instantiates a new instance of XSLTCDTMManager at each document
retrieve call. This makes the MultiDOM fail as the index is always
1 and each document replaces the previous one.

I also noticed that the main Document is added twice in MultiDOM,
at index 0 and 1, is there a reason for this ?

I patched DocumentCache to solve this (I also changed the
REFRESH_INTERVAL for other reasons) :

Index: src/org/apache/xalan/xsltc/dom/DocumentCache.java
===================================================================
RCS file: /home/cvspublic/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DocumentCache.java,v
retrieving revision 1.6.10.10
diff -w -b -r1.6.10.10 DocumentCache.java
99c99,101
< private static final int REFRESH_INTERVAL = 1000;
---
> private static final int REFRESH_INTERVAL = 10000;
> private XSLTCDTMManager dtmManager =
> (XSLTCDTMManager)XSLTCDTMManager.newInstance();
136,137c138,139
< XSLTCDTMManager dtmManager =
< (XSLTCDTMManager)XSLTCDTMManager.newInstance();
---
> // XSLTCDTMManager dtmManager =
> // (XSLTCDTMManager)XSLTCDTMManager.newInstance();



I also had to change the LoadDocument to handle relative file paths correctly :

Index: src/org/apache/xalan/xsltc/dom/LoadDocument.java
===================================================================
RCS file: /home/cvspublic/xml-xalan/java/src/org/apache/xalan/xsltc/dom/LoadDocument.java,v
retrieving revision 1.11.10.11
diff -w -b -r1.11.10.11 LoadDocument.java
139c139
< newdom = cache.retrieveDocument(originalUri, mask, translet);
---
> newdom = cache.retrieveDocument(uri, mask, translet);



I will try to send more details as soon as possible.


Thanks again for your good work.

--
Mickael Guessant




Reply via email to