Closed Bug 779056 Opened 13 years ago Closed 7 years ago

Minimize I/O in XPIProvider.checkForChanges and related functions

Categories

(Toolkit :: Add-ons Manager, defect)

defect
Not set
normal

Tracking

()

RESOLVED INACTIVE

People

(Reporter: Unfocused, Unassigned)

References

Details

The following functions: * XPIProvider.checkForChanges * XPIProvider.processFileChanges * XPIProvider.processPendingFileChanges * cleanStagingDir * (Maybe more?) Are quite expensive to startup time when they need to be run, mostly due to all the I/O they do. However, some of that I/O can be avoided by making that code a bit smarter: * Not checking if a file exists before deleting it (or before calling recursiveRemove()) * Caching results of .isDirectory(), .exists(), etc * Not calling exists() if its just going to call isDirectory() right after (if it doesn't exist, isDirectory() will throw, which is faster than calling both methods) * etc Eventually we may want to use OS.File, but that's a fair way down the track (it's not usable for this yet), and will be a big job. In the meantime, these are some easy wins.
Add DirInstallLocation to that list.
Blocks: 696141
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.