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
Unknown Object (File)
Tue, Dec 10, 10:56 AM
Unknown Object (File)
Mon, Dec 9, 4:52 PM
Unknown Object (File)
Thu, Dec 5, 11:10 AM
Unknown Object (File)
Tue, Dec 3, 11:21 AM
Unknown Object (File)
Sun, Dec 1, 10:47 PM
Unknown Object (File)
Sun, Dec 1, 12:41 PM
Unknown Object (File)
Sun, Dec 1, 12:41 PM
Unknown Object (File)
Sun, Dec 1, 12:41 PM
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.