HomePhabricator

Make loading library maps much cheaper

Authored by epriestley.

Description

Make loading library maps much cheaper

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.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T8575

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

Details

Committed
epriestleyJun 17 2015, 5:43 PM
Pushed
epriestleyJun 17 2015, 5:43 PM
Reviewer
btrahan
Differential Revision
D13323: Make loading library maps much cheaper
Parents
rPHU50cdab04a4f8: Remove an unused property
Branches
Unknown
Tags
Unknown
Tasks
T8575: Reap easy performance improvements