Put an in-request cache in front of APC
Put an in-request cache in front of APC

Summary: Most requests examine the same buckets, especially the first bucket. Let them just read it out of request cache.

Test Plan: Observed most bucket fetches resolving in <10us instead of <10ms.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

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

librewiki/phabricator,kalbasit/phabricator,aik099/phabricator,sharpwhisper/phabricator,folsom-labs/phabricator,Automatic/phabricator,vinzent/phabricator,coursera/phabricator,dannysu/phabricator,huaban/phabricator,coursera/phabricator,akkakks/phabricator,uhd-urz/phabricator,folsom-labs/phabricator,codevlabs/phabricator,memsql/phabricator,NigelGreenway/phabricator,Symplicity/phabricator,leolujuyi/phabricator,a20012251/phabricator,matthewrez/phabricator,eSpark/phabricator,kwoun1982/phabricator,devurandom/phabricator,NigelGreenway/phabricator,hach-que/phabricator,Drooids/phabricator,vuamitom/phabricator,eSpark/phabricator,freebsd/phabricator,leolujuyi/phabricator,leolujuyi/phabricator,christopher-johnson/phabricator,sharpwhisper/phabricator,wxstars/phabricator,phacility/phabricator,kalbasit/phabricator,benchling/phabricator,librewiki/phabricator,zhihu/phabricator,huangjimmy/phabricator-1,uhd-urz/phabricator,wxstars/phabricator,wxstars/phabricator,Symplicity/phabricator,a20012251/phabricator,r4nt/phabricator,hshackathons/phabricator-deprecated,zhihu/phabricator,folsom-labs/phabricator,r4nt/phabricator,aik099/phabricator,wikimedia/phabricator-phabricator,wangjun/phabricator,zhihu/phabricator,devurandom/phabricator,freebsd/phabricator,jwdeitch/phabricator,benchling/phabricator,aswanderley/phabricator,shrimpma/phabricator,hach-que/unearth-phabricator,sharpwhisper/phabricator,parksangkil/phabricator,jwdeitch/phabricator,huangjimmy/phabricator-1,ide/phabricator,phacility/phabricator,Soluis/phabricator,coursera/phabricator,hach-que/phabricator,ide/phabricator,christopher-johnson/phabricator,wxstars/phabricator,kwoun1982/phabricator,NigelGreenway/phabricator,huaban/phabricator,vinzent/phabricator,aswanderley/phabricator,leolujuyi/phabricator,hach-que/phabricator,gsinkovskiy/phabricator,schlaile/phabricator,MicroWorldwide/phabricator,wusuoyongxin/phabricator,librewiki/phabricator,wikimedia/phabricator,phacility/phabricator,codevlabs/phabricator,uhd-urz/phabricator,Automatic/phabricator,cjxgm/p.cjprods.org,shrimpma/phabricator,vuamitom/phabricator,kanarip/phabricator,eSpark/phabricator,denisdeejay/phabricator,Drooids/phabricator,kwoun1982/phabricator,huangjimmy/phabricator-1,denisdeejay/phabricator,ryancford/phabricator,kanarip/phabricator,hach-que/unearth-phabricator,WuJiahu/phabricator,akkakks/phabricator,wikimedia/phabricator,wikimedia/phabricator-phabricator,tanglu-org/tracker-phabricator,Khan/phabricator,UNCC-OpenProjects/Phabricator,wusuoyongxin/phabricator,uhd-urz/phabricator,aswanderley/phabricator,eSpark/phabricator,librewiki/phabricator,gsinkovskiy/phabricator,aswanderley/phabricator,r4nt/phabricator,akkakks/phabricator,dannysu/phabricator,UNCC-OpenProjects/Phabricator,Drooids/phabricator,hshackathons/phabricator-deprecated,dannysu/phabricator,christopher-johnson/phabricator,kwoun1982/phabricator,hshackathons/phabricator-deprecated,sharpwhisper/phabricator,vuamitom/phabricator,shrimpma/phabricator,vuamitom/phabricator,schlaile/phabricator,memsql/phabricator,hach-que/phabricator,NigelGreenway/phabricator,cjxgm/p.cjprods.org,coursera/phabricator,Symplicity/phabricator,huangjimmy/phabricator-1,shl3807/phabricator,matthewrez/phabricator,gsinkovskiy/phabricator,vinzent/phabricator,dannysu/phabricator,wikimedia/phabricator-phabricator,jwdeitch/phabricator,Automatic/phabricator,akkakks/phabricator,ryancford/phabricator,phacility/phabricator,devurandom/phabricator,hach-que/phabricator,optimizely/phabricator,kalbasit/phabricator,kanarip/phabricator,cjxgm/p.cjprods.org,WuJiahu/phabricator,MicroWorldwide/phabricator,wangjun/phabricator,benchling/phabricator,tanglu-org/tracker-phabricator,Khan/phabricator,matthewrez/phabricator,Khan/phabricator,ryancford/phabricator,aik099/phabricator,benchling/phabricator,r4nt/phabricator,librewiki/phabricator,vuamitom/phabricator,kwoun1982/phabricator,optimizely/phabricator,huaban/phabricator,hshackathons/phabricator-deprecated,hshackathons/phabricator-deprecated,freebsd/phabricator,codevlabs/phabricator,hach-que/unearth-phabricator,hach-que/unearth-phabricator,wikimedia/phabricator-phabricator,memsql/phabricator,WuJiahu/phabricator,folsom-labs/phabricator,christopher-johnson/phabricator,tanglu-org/tracker-phabricator,UNCC-OpenProjects/Phabricator,shl3807/phabricator,hach-que/unearth-phabricator,cjxgm/p.cjprods.org,wusuoyongxin/phabricator,devurandom/phabricator,uhd-urz/phabricator,akkakks/phabricator,Symplicity/phabricator,kanarip/phabricator,a20012251/phabricator,a20012251/phabricator,zhihu/phabricator,aswanderley/phabricator,Drooids/phabricator,parksangkil/phabricator,wikimedia/phabricator,UNCC-OpenProjects/Phabricator,aik099/phabricator,Soluis/phabricator,sharpwhisper/phabricator,christopher-johnson/phabricator,Soluis/phabricator,vinzent/phabricator,kalbasit/phabricator,codevlabs/phabricator,zhihu/phabricator,gsinkovskiy/phabricator,codevlabs/phabricator,shl3807/phabricator,MicroWorldwide/phabricator,huaban/phabricator,wikimedia/phabricator,tanglu-org/tracker-phabricator,devurandom/phabricator,a20012251/phabricator,ide/phabricator,ide/phabricator,tanglu-org/tracker-phabricator,dannysu/phabricator,kanarip/phabricator,zhihu/phabricator,shrimpma/phabricator,parksangkil/phabricator,folsom-labs/phabricator,Automatic/phabricator,wikimedia/phabricator-phabricator,MicroWorldwide/phabricator,schlaile/phabricator,denisdeejay/phabricator,shl3807/phabricator,WuJiahu/phabricator,jwdeitch/phabricator,Soluis/phabricator,matthewrez/phabricator,Soluis/phabricator,r4nt/phabricator,NigelGreenway/phabricator,huangjimmy/phabricator-1,wusuoyongxin/phabricator,wangjun/phabricator,vinzent/phabricator,cjxgm/p.cjprods.org,freebsd/phabricator,wangjun/phabricator,gsinkovskiy/phabricator,optimizely/phabricator,ryancford/phabricator,eSpark/phabricator,optimizely/phabricator,parksangkil/phabricator,Khan/phabricator,schlaile/phabricator,devurandom/phabricator,memsql/phabricator,memsql/phabricator,optimizely/phabricator,denisdeejay/phabricator