Homec4science

Improve Diffusion behavior for directories with impressive numbers of files

Authored by epriestley <git@epriestley.com> on Jan 6 2016, 12:57.

Description

Improve Diffusion behavior for directories with impressive numbers of files

Summary:
Fixes T4366. Two years ago, Facebook put 16,000 files in a directory. Today, the page has nearly loaded.

Paginate large directories.

Test Plan:

  • Viewed home and browse views in Git, Mercurial and Subversion.

I put an artificially small page size (5) on home:

{F1055653}

I pushed 16,000 files to a directory and paged through them. Here's the last page, which rendered in about 200ms:

{F1055655}

Our behavior is a bit better than GitHub here, which shows only the first 1,000 files, disables pagination, and can't retrieve history for the files:

{F1055656}

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T4366

Differential Revision: https://secure.phabricator.com/D14956

Details

Committed
epriestley <git@epriestley.com>Jan 6 2016, 23:19
Pushed
aubortJan 31 2017, 17:16
Parents
rPHab27af9fc608: Fix badges edit form
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH741118a08f3d: Improve Diffusion behavior for directories with impressive numbers of files (authored by epriestley <git@epriestley.com>).Jan 6 2016, 23:19