Performance:Home Page: Difference between revisions

Jump to navigation Jump to search
fix wiki formatting of lists
(→‎Other areas for investigation: fix wiki formatting)
(fix wiki formatting of lists)
Line 7: Line 7:


Possible areas for improvement:
Possible areas for improvement:
  * Put components which aren't typically needed at startup into external dlls, to reduce the amount of code that has to be paged in
* Put components which aren't typically needed at startup into external dlls, to reduce the amount of code that has to be paged in
  * Fastload XBL bindings
* Fastload XBL bindings
  * ...
* ...


=== Move FF to XULRunner (investigate at least) ===
=== Move FF to XULRunner (investigate at least) ===
Line 19: Line 19:
=== Javascript Component Loading ===
=== Javascript Component Loading ===
Even with fastloaded (precompiled) javascript components, we spend a fair amount of startup time deserializing large scripts.  Things to do:
Even with fastloaded (precompiled) javascript components, we spend a fair amount of startup time deserializing large scripts.  Things to do:
  * Refactor large components (nsExtensionManager.js, nsUpdateService.js) to load the minimal amount of code at startup
* Refactor large components (nsExtensionManager.js, nsUpdateService.js) to load the minimal amount of code at startup
  * Eliminate locking in the JS engine when deserializing scripts, see bug http://bugzilla.mozilla.org/show_bug.cgi?id=312238
* Eliminate locking in the JS engine when deserializing scripts, see bug http://bugzilla.mozilla.org/show_bug.cgi?id=312238
  * Use a large pool of memory for allocating strings during deserialization, see https://bugzilla.mozilla.org/show_bug.cgi?id=279839#c11
* Use a large pool of memory for allocating strings during deserialization, see https://bugzilla.mozilla.org/show_bug.cgi?id=279839#c11


=== Function Ordering ===
=== Function Ordering ===
All of the major platforms support having the linker reorder functions in the binary.  We can exploit this to move the functions that are needed at startup into a contiguous section at the start of the binary, which should reduce the time spent reading from disk.
All of the major platforms support having the linker reorder functions in the binary.  We can exploit this to move the functions that are needed at startup into a contiguous section at the start of the binary, which should reduce the time spent reading from disk.
  * Profile the startup process to generate an optimal function ordering
* Profile the startup process to generate an optimal function ordering
  * Integrate the ordering into the build system
* Integrate the ordering into the build system


=== Improve Fastload system ===
=== Improve Fastload system ===
canmove, Confirmed users, Bureaucrats and Sysops emeriti
1,334

edits

Navigation menu