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.