Closed
Bug 193764
Opened 22 years ago
Closed 22 years ago
XMLParser::getDocumentFromURI does not cache
Categories
(Core :: XSLT, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 192794
People
(Reporter: emrick, Assigned: peterv)
Details
(Keywords: perf)
User-Agent: Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.3b) Gecko/20030211 Build Identifier: Mozilla/5.0 (rv:1.3b) Gecko/20030211 Documents are supposed to be cached during the scope of one transform. Repetitive loads of the same URI by XMLParser::getDocumentFromURI should not result in repeated loading of the file. Unfortunatly, this appears to be broken. This behavior has been verified same on os/2 and linux mozilla. Adding in a printf to this code: Document* XMLParser::getDocumentFromURI(const nsAString& href, Document* aLoader, nsAString& errMsg) { #ifndef TX_EXE nsCOMPtr<nsIURI> documentURI; nsresult rv = NS_NewURI(getter_AddRefs(documentURI), href); NS_ENSURE_SUCCESS(rv, 0); printf("getDocumentFromURI %s \n",NS_LossyConvertUCS2toASCII(href).get()); .... produces this output: getDocumentFromURI file:///xxx/test10/statictest/haf/xsl/ui_optim.xsl getDocumentFromURI file:///xxx/test10/statictest/cui/xml/demographicsPDF.xml getDocumentFromURI file:///xxx/test10/statictest/haf/params/commonLabels.xml getDocumentFromURI file:///xxx/test10/statictest/cui/params/labels_en.xml getDocumentFromURI file:///xxx/test10/statictest/cui/params/menu.xml getDocumentFromURI file:///xxx/test10/statictest/cui/params/labels_en.xml getDocumentFromURI file:///xxx/test10/statictest/cui/params/toolbar.xml getDocumentFromURI file:///xxx/test10/statictest/cui/params/toolbar.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/edLevelRDRS.xml getDocumentFromURI file:///xxx/test10/statictest/cui/resources/lookupFileKeyed.xml Not sure how it plays into this,.... but from the system level trace, I can see a couple of 'curiosities'.... 1) There are two threads involved here, thread #1 is issue file opens, thread #4 issues reads and close,... Thread #1 issues another open to the file before thread #4 closes the previous file open instance (for this reason, the read 'bounces' back and forth from file handle 14, 15, 14, 15, ) 2) The read code seems to 'stutter' and needs to get back a read of zero bytes TWICE to 'notice' it has reached end of file... Here's a snippit of the os/2 system level trace: delta time PID TID hook name 0.0142 1933.2083 0044 0004 DosClose 0.0659 1933.2742 0044 0004 Dos32Read FileHandle=00000014 0.0079 1933.2821 0044 0004 Dos32Read BytesRead=000001D7 ReturnCode=00000000 0.0510 1933.3331 0044 0004 Dos32Read FileHandle=00000014 0.0014 1933.3345 0044 0004 Dos32Read BytesRead=00000000 ReturnCode=00000000 0.6290 1933.9635 0044 0004 Dos32Read FileHandle=00000014 0.0023 1933.9658 0044 0004 Dos32Read BytesRead=00000000 ReturnCode=00000000 6.4469 1940.4127 0044 0001 DosOpen2 FileName=D:\hsbc\statictest3\cui\resources\edLevelRDRS.xml 0.0543 1940.4670 0044 0001 DosOpen2 FileHandle=00000015 0.2207 1940.6877 0044 0004 DosClose FileHandle=00000014 0.0140 1940.7017 0044 0004 DosClose 0.0699 1940.7716 0044 0004 Dos32Read FileHandle=00000015 0.0078 1940.7794 0044 0004 Dos32Read BytesRead=000001D7 ReturnCode=00000000 0.0521 1940.8315 0044 0004 Dos32Read FileHandle=00000015 0.0013 1940.8328 0044 0004 Dos32Read BytesRead=00000000 ReturnCode=00000000 0.6106 1941.4434 0044 0004 Dos32Read FileHandle=00000015 0.0019 1941.4453 0044 0004 Dos32Read BytesRead=00000000 ReturnCode=00000000 5.9274 1947.3727 0044 0001 DosOpen2 FileName=D:\hsbc\statictest3\cui\resources\edLevelRDRS.xml 0.0539 1947.4266 0044 0001 DosOpen2 FileHandle=00000014 0.2294 1947.6560 0044 0004 DosClose FileHandle=00000015 0.0143 1947.6703 0044 0004 DosClose 0.0686 1947.7389 0044 0004 Dos32Read FileHandle=00000014 0.0082 1947.7471 0044 0004 Dos32Read BytesRead=000001D7 ReturnCode=00000000 0.0521 1947.7992 0044 0004 Dos32Read FileHandle=00000014 0.0013 1947.8005 0044 0004 Dos32Read BytesRead=00000000 ReturnCode=00000000 0.6130 1948.4135 0044 0004 Dos32Read FileHandle=00000014 To: Jonas Sicking <jonas@sicking.cc> Reproducible: Always Steps to Reproduce: 1. 2. 3.
Updated•22 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
->XSLT
Assignee: heikki → peterv
Component: XML → XSLT
QA Contact: ashishbhatt → keith
Assignee | ||
Comment 2•22 years ago
|
||
Please try with a later build. *** This bug has been marked as a duplicate of 192794 ***
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•