Closed Bug 536504 Opened 15 years ago Closed 15 years ago

Remove fuelApplications.js from the startup path

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 506471

People

(Reporter: robert.strong.bugs, Unassigned)

Details

(Whiteboard: [ts])

fuelApplications.js has a startup penalty of approximately 140ms on Firefox WinCE when profiled on a Tegra device. iirc the purpose of is to provide extension developers with simpler api's to perform common tasks but this comes at a fairly stiff penalty especially for those not using extensions.

If the functionality provided by fuelApplications.js is still desired then I suggest making it a JavaScript module that extensions can load themselves and thereby not impact installations that don't use extensions.
other options are
1) make it a requirement that extensions that use fuel instantiate it so it doesn't have to load at startup.

2) split the component so less code is loaded at startup which would likely only save around 50ms on the Tegra.

If removing fuel or making it a module is not possible perhaps option 1 could be accomplished?
do we know why is it 140ms? Do we have a fuel's startup profiled?
I blogged about the details and included the log files
http://tinyurl.com/yd35cog
Is it the part:
JS_Execute 632.945
init|observe 22.706
?

Does it mean that tracemonkey parses the file for 632ms? And what does init|observe mean?
JS_Execute is the initial load / parsing which is performed at
http://mxr.mozilla.org/mozilla-central/source/js/src/jsinterp.cpp#1480

note: the actual JS_Execute cost due to fuel is actually a lot less than 632.945ms. This is due to a hefty additional cost which I factored out all of which is described / shown in the blog post.

init|observe means that the service is both initialized and observes the respective notification shown in the table and can also be seen in the logs.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.