While debugging performance issues over the weekend it was realized we could
significantly improve performance of an expensive operation, calculating the
ledger at a specific height, by using a ledger snapshot we were already making.
A simple cache was added to track the last 30 ledger snapshots and if the
ledger_at height existed in the cache, it will be used. This has resulted in a
significant performance improvement both to validating PoC receipts as well as
block syncing. While we still plan to activate PoCv4 tomorrow we feel that this
interim performance fix, which remains relevant for PoCv4, is worth it to get
the amount of accepted PoC receipts that can be validated and added to the chain
up from the levels they have dropped to.
The changes are completely encapsulated in blockchain-core#301.
The beta deploy was done around 3:40 PM PST and will be deployed to GA shortly.