Page MenuHomePhabricator

Make loading library maps much cheaper
ClosedPublic

Authored by epriestley on Jun 17 2015, 2:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 8:19 PM
Unknown Object (File)
Tue, Nov 12, 7:25 PM
Unknown Object (File)
Tue, Nov 12, 6:16 PM
Unknown Object (File)
Tue, Nov 12, 5:25 PM
Unknown Object (File)
Tue, Nov 12, 11:17 AM
Unknown Object (File)
Oct 24 2024, 4:29 PM
Unknown Object (File)
Oct 22 2024, 10:45 PM
Unknown Object (File)
Oct 21 2024, 7:06 PM
Subscribers

Details

Summary

Ref T8575. Currently, if there are any extensions to a library, we do a small amount of extra work every time we go to load a symbol. However, we do this often enough that it mounts up. This work also requires that PHP copy the library map, which is often large.

We can just cache the result of this work and be able to pull the map more cheaply.

Test Plan

Saw homepage cost drop 29% (273ms -> 195ms). This effect is much larger than I'd expect to see in production, since installs should only benefit if they have extensions.

Diff Detail

Repository
rPHU libphutil
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Make loading library maps much cheaper.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.
btrahan edited edge metadata.
This revision is now accepted and ready to land.Jun 17 2015, 5:30 PM
This revision was automatically updated to reflect the committed changes.