Page MenuHomePhabricator

Improve performance of "phabricator:20210215.changeset.02.phid-populate.php"
ClosedPublic

Authored by epriestley on Feb 19 2021, 3:48 PM.
Tags
None
Referenced Files
F18106501: D21570.diff
Sun, Aug 10, 11:06 PM
F18105815: D21570.id51343.diff
Sun, Aug 10, 7:51 PM
F18101528: D21570.id.diff
Sat, Aug 9, 2:11 PM
F18097337: D21570.diff
Fri, Aug 8, 12:57 PM
F17842349: D21570.diff
Jul 26 2025, 11:31 PM
F17827289: D21570.diff
Jul 26 2025, 8:07 AM
F17827288: D21570.diff
Jul 26 2025, 8:07 AM
F17827283: D21570.diff
Jul 26 2025, 8:07 AM
Subscribers
Restricted Owners Package

Details

Summary

Ref T13613. Improve the performance of this migration by using a temporary table and an "UPDATE x JOIN y ..." pattern.

Test Plan
  • Ran on secure, got exit after a few seconds since the migration is idempotent and changesets already had PHIDs.
  • Ran on secure with the continue; commented out, got valid new PHIDs in 53s (from 153s).
  • Tried a larger page size (16K), didn't see any improvement.
  • From "--trace", client PHID generation seems to be the limiting factor.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Owners added a subscriber: Restricted Owners Package.Feb 19 2021, 3:48 PM

From "--trace", client PHID generation seems to be the limiting factor.

I think this isn't quite true. On secure, generating 400K PHIDs in a standalone script takes 7s, so this isn't totally trivial but is only ~13% of remaining runtime. I don't see any obvious wins remaining here, though.

This revision was not accepted when it landed; it landed in state Needs Review.Feb 19 2021, 3:53 PM
This revision was automatically updated to reflect the committed changes.