Page MenuHomePhabricator

Use futures to improve clustered repository main page performance
ClosedPublic

Authored by epriestley on Dec 8 2016, 2:44 PM.
Tags
None
Referenced Files
F15484856: D17009.id40924.diff
Wed, Apr 9, 8:34 PM
F15483010: D17009.id40923.diff
Wed, Apr 9, 9:13 AM
F15482574: D17009.id.diff
Wed, Apr 9, 6:23 AM
F15477441: D17009.diff
Mon, Apr 7, 2:43 PM
F15471564: D17009.diff
Sat, Apr 5, 5:57 AM
F15391553: D17009.id40924.diff
Sat, Mar 15, 10:31 AM
F15334576: D17009.id40924.diff
Mar 8 2025, 10:24 AM
F15334575: D17009.id40923.diff
Mar 8 2025, 10:24 AM
Subscribers
None

Details

Summary

Ref T11954. In cluster configurations, we get repository information by making HTTP calls over Conduit.

These are slower than local calls, so clustering imposes a performance penalty. However, we can use futures and parallelize them so that clustering actually improves overall performance.

When not running in clustered mode, this just makes us run stuff inline.

Test Plan
  • Browsed Git, Mercurial and Subversion repositories.
  • Locally, saw a 700ms wall time page drop to 200ms.

Diff Detail

Repository
rP Phabricator
Branch
future1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 14810
Build 19372: Run Core Tests
Build 19371: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Use futures to improve clustered repository main page performance.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Dec 8 2016, 3:21 PM
This revision was automatically updated to reflect the committed changes.