This repository was archived by the owner on Nov 15, 2023. It is now read-only.
  
  
  - 
                Notifications
    You must be signed in to change notification settings 
- Fork 2.7k
Fetch runtime code from storage cache when using proofing backend #9611
          
     Merged
      
      
    Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    Before we fetched the runtime code from the `TrieBackend` and this lead to not using the storage cache. Thus, we recalculated the storage hash for the runtime code on every call into the runtime and this killed the performance on parachains block authoring. The solution is to fetch the runtime code from the storage cache, to make sure we use the cached storage cache.
| I performed some tests, and we moved from an average of ~100tx/block to ~350tx/block using this commit. | 
              
                    arkpar
  
              
              approved these changes
              
                  
                    Aug 24, 2021 
                  
              
              
            
            
| bot merge | 
| Trying merge. | 
| Bot will approve on the behalf of @bkchr, since they are a team lead, in an attempt to reach the minimum approval count | 
              
                    ghost
  
              
              approved these changes
              
                  
                    Aug 24, 2021 
                  
              
              
            
            
    
  Wizdave97 
      pushed a commit
        to Wizdave97/substrate
      that referenced
      this pull request
    
      Aug 25, 2021 
    
    
      
  
    
      
    
  
…ritytech#9611) Before we fetched the runtime code from the `TrieBackend` and this lead to not using the storage cache. Thus, we recalculated the storage hash for the runtime code on every call into the runtime and this killed the performance on parachains block authoring. The solution is to fetch the runtime code from the storage cache, to make sure we use the cached storage cache.
    
  crystalin 
      pushed a commit
        to moonbeam-foundation/substrate
      that referenced
      this pull request
    
      Sep 10, 2021 
    
    
      
  
    
      
    
  
…ritytech#9611) Before we fetched the runtime code from the `TrieBackend` and this lead to not using the storage cache. Thus, we recalculated the storage hash for the runtime code on every call into the runtime and this killed the performance on parachains block authoring. The solution is to fetch the runtime code from the storage cache, to make sure we use the cached storage cache.
    
  JoshOrndorff 
      pushed a commit
        to moonbeam-foundation/substrate
      that referenced
      this pull request
    
      Sep 16, 2021 
    
    
      
  
    
      
    
  
…ritytech#9611) Before we fetched the runtime code from the `TrieBackend` and this lead to not using the storage cache. Thus, we recalculated the storage hash for the runtime code on every call into the runtime and this killed the performance on parachains block authoring. The solution is to fetch the runtime code from the storage cache, to make sure we use the cached storage cache. (cherry picked from commit b79e2b9)
    
  JoshOrndorff 
      pushed a commit
        to moonbeam-foundation/substrate
      that referenced
      this pull request
    
      Sep 28, 2021 
    
    
      
  
    
      
    
  
…ritytech#9611) Before we fetched the runtime code from the `TrieBackend` and this lead to not using the storage cache. Thus, we recalculated the storage hash for the runtime code on every call into the runtime and this killed the performance on parachains block authoring. The solution is to fetch the runtime code from the storage cache, to make sure we use the cached storage cache. (cherry picked from commit b79e2b9)
              This pull request was closed.
            
          
  
      Sign up for free
      to subscribe to this conversation on GitHub.
      Already have an account?
      Sign in.
  
      Labels
      
    A0-please_review
  Pull request needs code review. 
  
    B0-silent
  Changes should not be mentioned in any release notes 
  
    C1-low
  PR touches the given topic and has a low impact on builders. 
  
    D3-trivial 🧸
  PR contains trivial changes in a runtime directory that do not require an audit 
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Before we fetched the runtime code from the
TrieBackendand this leadto not using the storage cache. Thus, we recalculated the storage hash
for the runtime code on every call into the runtime and this killed the
performance on parachains block authoring. The solution is to fetch the
runtime code from the storage cache, to make sure we use the cached
storage cache.