Skip to content

Add cache logic for `Make_cached_carbonated_map`

Wait for !17 (merged). Please review from f0a3e5d3

This MR add cache logic for Make_cached_carbonated_map. In order to review it, please check every storage accessor/updater has following properties

: an in-memory cache

δ : an in-storage cache

  • mem
    • Miss ∆ Miss δ
      • should we update both ∆ + δ here?
      • consume mem gas
    • Miss ∆ Hit δ
      • no gas consumption
  • get
    • Miss ∆ Miss δ
      • Update ∆ + δ
      • consume read gas
    • Miss ∆ Hit δ
      • Update ∆
      • no gas consumption
  • find
    • Miss ∆ Miss δ
      • Update ∆ + δ
      • consume read gas
    • Miss ∆ Hit δ
      • Update ∆
      • no gas consumption
  • update
    • Update ∆ + δ
    • consume write gas
  • init
    • Update ∆ + δ
    • consume write gas
  • add
    • Update ∆ + δ
    • consume write gas
  • remove
    • Remove ∆ + δ
    • consume remove gas
  • remove_existing
    • Remove ∆ + δ
    • consume remove gas
  • add_or_remove (same as add or remove)
Edited by Weihang Lo

Merge request reports