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
Unknown Object (File)
Sat, Dec 7, 8:54 PM
Unknown Object (File)
Fri, Dec 6, 6:39 AM
Unknown Object (File)
Sat, Nov 30, 10:27 PM
Unknown Object (File)
Sat, Nov 30, 3:05 PM
Unknown Object (File)
Sat, Nov 30, 6:53 AM
Unknown Object (File)
Tue, Nov 26, 8:06 AM
Unknown Object (File)
Nov 19 2024, 8:34 AM
Unknown Object (File)
Nov 16 2024, 8:10 PM
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
blame5
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 9974
Build 12050: Run Core Tests
Build 12049: 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.