Add Individual aggregation cache
Submitted by Travis Reitter
Assigned to fol..@..e.bugs
A big portion of the Folks startup time is due to re-building the linking between Personas. And this work varies little from startup to startup, so it's a good candidate for optimization.
We should build a cache of these links in a format which the IndividualAggregator can quickly deserialize into its memory and use to attach Personas to Individuals.
Once we're in a state sufficient for applications to display all the Individuals with relevant data (like Avatars, Name, etc.), then we can do the work to re-evaluate links for correctness and update the cache.
We will have to be careful (as with any cache design) to ensure that all updates 1. make it to the live Individuals and 2. make their way into the cache.
As with most major work, we should add a lot of tests to make sure we get this right before merging.
Version: git master