Page MenuHomePhabricator

Provide a pure APC cache for runtime caching
ClosedPublic

Authored by epriestley on Dec 6 2016, 12:08 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Dec 19, 12:43 AM
Unknown Object (File)
Wed, Dec 18, 8:07 PM
Unknown Object (File)
Wed, Dec 18, 8:07 PM
Unknown Object (File)
Wed, Dec 18, 8:07 PM
Unknown Object (File)
Tue, Dec 17, 6:27 AM
Unknown Object (File)
Mon, Dec 9, 4:34 PM
Unknown Object (File)
Mon, Dec 9, 7:28 AM
Unknown Object (File)
Mon, Dec 9, 7:28 AM
Subscribers
None

Details

Summary

Ref T11954. Depends on D16992. We have some data which can be generated and cached at runtime. Three examples are:

  • Class map from Conduit method names to implementing classes.
  • Class map from PHID types to implementing classes.
  • The main routing map.

None of these are huge wins but they impose global costs and can be shaved down through caching without introducing an enormous amount of new complexity.

The cost to these maps is that sometimes you'll need to restart your webserver, even in development mode if these caches are active. However, in some cases these changes are very rare, and in other cases we can just leave the cache disabled in development mode without a huge complexity cost.

Specifically, the Conduit/PHID type class maps are self-validating and can not go bad, even in development mode.

The routing map will be able to, but I plan to just disable it in development mode.

This provides a general-purpose pure APC cache stack for storing this data.

Test Plan

See future changes.

Diff Detail

Repository
rP Phabricator
Branch
ccache1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 14770
Build 19309: Run Core Tests
Build 19308: arc lint + arc unit

Event Timeline

epriestley updated this revision to Diff 40885.
epriestley retitled this revision from to Provide a pure APC cache for runtime caching.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
  • Typo fix.
chad edited edge metadata.
This revision is now accepted and ready to land.Dec 6 2016, 2:41 PM
This revision was automatically updated to reflect the committed changes.