Compare Revisions

Performance best practices in extensions

Change Revisions

Revision 31705:

Revision 31705 by nnethercote on

Revision 31706:

Revision 31706 by stve on

Title:
Performance best practices in extensions
Performance best practices in extensions
Slug:
Extensions/Performance_best_practices_in_extensions
Extensions/Performance_best_practices_in_extensions
Tags:
NeedsTechnicalReview, Extensions, Add-ons, NeedsContent, NeedsExample, Performance
NeedsTechnicalReview, Extensions, Add-ons, NeedsContent, NeedsExample, Performance
Content:

Revision 31705
Revision 31706
n56      As well as looking for these specific kinds of leaks, it's n56      As well as looking for these specific kinds of leaks, it's 
>worth exercising your extension's functionality and checking the >worth exercising your extension's functionality and checking the 
>contents of about:memory for any excessive memory usage.  Fo>contents of about:memory for any excessive memory usage.  Fo
>r example, <a class=" link-https" href="https://bugzilla.mozilla.>r example, <a class="link-https" href="https://bugzilla.mozilla.o
>org/show_bug.cgi?id=719601" title="https://bugzilla.mozilla.org/s>rg/show_bug.cgi?id=719601" title="https://bugzilla.mozilla.org/sh
>how_bug.cgi?id=719601">bug 719601</a> featured a "System Principa>ow_bug.cgi?id=719601">bug 719601</a> featured a "System Principal
>l" JavaScript compartment containing 100s of MBs of memory, which>" JavaScript compartment containing 100s of MBs of memory, which 
> is <em>much</em> larger than usual.>is <em>much</em> larger than usual.
t151      Remove event listener if they not needed any more. It is bet151      Remove event listener if they are not needed any more. It i
>tter to actually remove event listener instead of just having som>s better to actually remove event listener instead of just having
>e flag to check if the listener is active which is checked every > some flag to check if the listener is active which is checked ev
>time when an event is propagated. Abandon schemes like: <code>fun>ery time when an event is propagated. Abandon schemes like: <code
>ction onMouseOver(evt) { if (is_active) { /* doSomeThing */ } }</>>function onMouseOver(evt) { if (is_active) { /* doSomeThing */ }
>code> Also, remove "fire-once" listeners again:> }</code> Also, remove "fire-once" listeners again:

Back to History