Closed Bug 1736057 Opened 2 months ago Closed 1 month ago

Enable Full Parsing of JS scripts when compiled off thread

Categories

(Core :: Performance, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: denispal, Assigned: denispal)

References

Details

Attachments

(1 file)

Off thread full parsing enables the browser to perform full bytecode parsing of specific JS scripts off the main thread instead of parsing them on the main thread during execution.

The recent nightly experiment on Full Parsing (bug 1722551) revealed that off thread full parsing can reduce the amount of time spent executing JS by 10-15% which translates to a median improvement of about 2% in page load time across all segments.

An interest result from the experiment also showed that in the low cpu segment, enabling full parsing can attain an improvement in page load time of up to 10% and a reduction in JS execution time by up to 20%.

There is a trade off in memory for this improvement, however. The experiment showed a 1% regression in the median for total memory, and a 4% regression in the worst case above the 80th percentile.

In general, we believe the risk is low and the trade off in memory is acceptable given the significant improvements in page load time and JS execution time, especially for users with only 1-2 cores.

Priority: -- → P2

The results from a nightly experiment, found at https://protosaur.dev/partybal/bug_1722551_pref_full_js_parsing_experiment_nightly_94_94.html, indicate that there is a 2% improvement in the page load time by enabling full parsing for external JS scripts. This is most noticeable in the low cpu segment, where improvements of up to 10% can be seen. This all comes at a memory increase of about 1% in the median, and 4% in the worst case.

Pushed by dpalmeiro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5c29a315aa4a
Enable off thread full parsing by default for external JS scripts r=smaug,bas
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
Regressions: 1738242
Regressions: 1740011
You need to log in before you can comment on or make changes to this bug.