Currently Persistent Data only keeps images in memory, this patch extends it to the full Scene and BlenderSync.
But, for preview animation renders, syncing can easily take more time than the rendering itself. When people start to use viewport rendering and screenshot every frame just to avoid expensive resyncs, something has to be fixed...
One hack that I'm not really happy about in this patch is the "update ID". The problem there is that for viewport rendering, the depsgraph tags updated objects and Cycles uses that info for resyncing. But, with persistent data for regular rendering, another way for detecting updates is needed. Therefore, a counter is added that's incremented with every update - by keeping the previous counter in memory, Cycles can check whether an object needs to be updated.
For quick preview animations containing only small changes between frames (like only having camera animation), this can easily save 50% of the render time or more.