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
F13082669: D14963.diff
Wed, Apr 24, 10:14 PM
Unknown Object (File)
Fri, Apr 19, 4:03 PM
Unknown Object (File)
Wed, Apr 17, 6:55 AM
Unknown Object (File)
Wed, Mar 27, 9:11 PM
Unknown Object (File)
Mar 5 2024, 3:30 AM
Unknown Object (File)
Jan 31 2024, 12:15 PM
Unknown Object (File)
Dec 27 2023, 8:03 AM
Unknown Object (File)
Dec 26 2023, 7:17 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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.