Closed Bug 1158973 Opened 9 years ago Closed 9 years ago

Use $httpProvider's applyAsync to reduce digest cycles during some operations

Categories

(Tree Management :: Treeherder, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wlach, Assigned: wlach)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

Attachments

(1 file)

We often make concurrent requests in treeherder. Instead of running an angular digest cycle after each one returns, we should defer slightly so we can handle a bunch of DOM updates in one shot by setting useApplyAsync on the $httpProvider class. https://docs.angularjs.org/api/ng/provider/$httpProvider
With this change: 1. When loading page first time, go from 1688ms in requestLoaded callback (triggered digest) to 1340msec in deferred digest callback 2. When loading 50 more jobs, go from 2630ms in requestLoaded callback (triggered digest) to 1934msec in deferred digest callback. Also spend 2000msec less in generateJobElements 3. When loading job details, go from 2400msec in requestLoaded callback (triggered digest) to 823msec in deferred digest callback.
Attachment #8598217 - Flags: review?(mdoglio)
Blocks: 1067846
Keywords: perf
Priority: -- → P2
Attachment #8598217 - Flags: review?(mdoglio) → review+
This is a great idea! I didn't even know it existed :-)
Yeah it's pretty cool!
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: