Speed up DiffusionBrowseFileController by removing call to array_merge
Summary: Some profiling using XHProf in the Dark Console showed me that Diffusion was wasting a ton of time on array_merge. This change sped up the loading of a large file in Diffusion from 16.8 seconds to 2.4 seconds. Test Plan: Load files in Diffusion. They all look good. Also, use a PHP shell to try to manually verify that I still kinda remember some PHP and, yes, this is functionally equivalent to what was there before. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9032
This commit is contained in:
parent
e96c363eef
commit
9d0d1ac42f
|
@ -800,10 +800,13 @@ final class DiffusionBrowseFileController extends DiffusionBrowseController {
|
||||||
),
|
),
|
||||||
$blame);
|
$blame);
|
||||||
|
|
||||||
$rows = array_merge($rows, $this->renderInlines(
|
$cur_inlines = $this->renderInlines(
|
||||||
idx($inlines, $line['line'], array()),
|
idx($inlines, $line['line'], array()),
|
||||||
($show_blame),
|
($show_blame),
|
||||||
$engine));
|
$engine);
|
||||||
|
foreach ($cur_inlines as $cur_inline) {
|
||||||
|
$rows[] = $cur_inline;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $rows;
|
return $rows;
|
||||||
|
|
Loading…
Reference in a new issue