Page MenuHomePhabricator

Make mundane performance improvements to Diffusion browse views
ClosedPublic

Authored by epriestley on Jan 7 2016, 1:56 AM.
Tags
None
Referenced Files
F14056360: D14963.id36150.diff
Sat, Nov 16, 8:10 PM
F14050684: D14963.diff
Thu, Nov 14, 8:04 PM
F14041101: D14963.diff
Mon, Nov 11, 3:59 PM
F14023551: D14963.diff
Thu, Nov 7, 2:42 AM
F13984054: D14963.id36156.diff
Sun, Oct 20, 10:42 AM
Unknown Object (File)
Oct 13 2024, 10:01 PM
Unknown Object (File)
Oct 1 2024, 6:01 PM
Unknown Object (File)
Sep 12 2024, 8:57 AM
Subscribers
None

Details

Summary

Ref T2450. This reorganizes code to improve performance.

Mostly, there are a lot of things which are unique per commit (author name, links, short name, etc), but we were rendering them for every line.

This often meant we'd render the same author's name thousands of times. This is slower than rendering it only once.

In 99% of interfaces this doesn't matter, but blame is weird and it's significant on big files.

Test Plan

Locally, __phutil_library_map__.php now has costs of roughly:

  • 550ms for main content (from 650ms before the patch).
  • 1,500ms for blame content (frrom 1,800ms before the patch).

So this isn't huge, is a decent ~20%-ish performance gain for shuffling some stuff around.

Diff Detail

Repository
rP Phabricator
Branch
blame6
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 9975
Build 12052: Run Core Tests
Build 12051: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Make mundane performance improvements to Diffusion browse views.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.

This is the wrong diff, one sec..

chad edited edge metadata.
This revision is now accepted and ready to land.Jan 7 2016, 2:26 AM
epriestley edited edge metadata.
  • Fix a bug with line link generation.
This revision was automatically updated to reflect the committed changes.