Closed Bug 71447 Opened 19 years ago Closed 19 years ago

startup loads RDF/XML files (4% of startup time)

Categories

(Core Graveyard :: RDF, defect)

x86
Windows NT
defect
Not set

Tracking

(Not tracked)

VERIFIED INVALID
mozilla0.9

People

(Reporter: cathleennscp, Assigned: waterson)

References

Details

(Keywords: perf)

waterson done some investigaton and found that we're loading 34 RDF files.
his list is below

$(DIST)/bin/chrome/user-skins.rdf
$(DIST)/bin/chrome/all-skins.rdf
$(DIST)/bin/chrome/user-locales.rdf
$(DIST)/bin/chrome/all-locales.rdf
$(DIST)/bin/chrome/all-packages.rdf
$(PROFILE)/chrome/user-skins.rdf
$(PROFILE)/chrome/all-skins.rdf
$(PROFILE)/chrome/user-locales.rdf
$(PROFILE)/chrome/all-locales.rdf
$(PROFILE)/chrome/all-packages.rdf
$(PROFILE)/localstore.rdf
$(DIST)/bin/chrome/overlayinfo/navigator/skin/stylesheets.rdf
$(PROFILE)/chrome/overlayinfo/navigator/skin/stylesheets.rdf
$(DIST)/bin/chrome/overlayinfo/navigator/content/overlays.rdf
$(PROFILE)/chrome/overlayinfo/navigator/content/overlays.rdf
$(PROFILE)/search.rdf
$(DIST)/bin/chrome/overlayinfo/messenger/skin/stylesheets.rdf
$(PROFILE)/chrome/overlayinfo/messenger/skin/stylesheets.rdf
$(DIST)/bin/chrome/overlayinfo/messenger/content/overlays.rdf
$(PROFILE)/chrome/overlayinfo/messenger/content/overlays.rdf
$(DIST)/bin/chrome/overlayinfo/global/skin/stylesheets.rdf
$(PROFILE)/chrome/overlayinfo/global/skin/stylesheets.rdf
$(DIST)/bin/chrome/overlayinfo/global/content/overlays.rdf
$(PROFILE)/chrome/overlayinfo/global/content/overlays.rdf
$(DIST)/bin/chrome/overlayinfo/communicator/skin/stylesheets.rdf
$(PROFILE)/chrome/overlayinfo/communicator/skin/stylesheets.rdf
$(DIST)/bin/chrome/overlayinfo/communicator/content/overlays.rdf
$(PROFILE)/chrome/overlayinfo/communicator/content/overlays.rdf
chrome://global/locale/builtinURLs.rdf
$(DIST)/bin/chrome/overlayinfo/chatzilla/skin/stylesheets.rdf
$(PROFILE)/chrome/overlayinfo/chatzilla/skin/stylesheets.rdf
$(DIST)/bin/chrome/overlayinfo/chatzilla/content/overlays.rdf
$(PROFILE)/chrome/overlayinfo/chatzilla/content/overlays.rdf
chrome://communicator/locale/taskbar.rdf

hyatt claimed that most of these rdf files dont exist.  chrome registry tries to 
load many of them and failed...

what can we do to speed up this process?
Blocks: 7251
Keywords: perf
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9
Blocks: 71861
No longer blocks: 7251
Ok, profiled this. It turns out that short-circuiting the datasource creation is
not going to buy us much. The time is spent actually reading and parsing the
RDF/XML. There's an older bug that I just un-futured that we should fix instead,
which has to do with emitting terse RDF/XML (bug 35816). Resolving this as INVALID.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → INVALID
I should've added, RDFXMLDataSourceImpl::Refresh() is what I'm looking at; it's
the place where the time is spent. Of that, about 70% of the time is spent in
nsParser::OnDataAvailable(), consuming bytes. Very little time is spent in
nsFileChannel::Open(). A marginal amount of time is spent in the component
manager creating the parser etc.: we *could* short-circuit that if we were
willing to try to stat() the file first. (But then we pay for component creation
of nsIFile objects, etc., as well as doing a double-stat in the case where the
file exists. Seems like a wash.)

So the money is in making the RDF/XML content sink do less work.
verified
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.