• M
    Optimize parseStorage (#62805) · f161d3fe
    Matt Bierner 提交于
    * For Microsoft#62733
    
    **Problem**
    `parseStorage` computes a lot of data that we then immediately discard.
    
    **Fix**
    Try to only compute the data that we really will use by splitting `parseStorage` into different implementations per storage type (empty, multiRoot, ...). Also optimizes some of these implementations
    
    * Fixing tests
    
    * Clean up interface and optimize a bit further
    
    - Don't create big maps that we pick one from; Just target the workspace we are interested in directly.
    
    * Add logging for verifying that parseStorage extracts the correct values
    
     For insiders, we want to test that the changes to parseStorage are doing the right thing. For this, always run parseStorage and then check against migrated results. Log a warning if the data sets do not match
    
    * perf - remove check for workspace identifier for empty and workspace storage
    
    These keys will never have the workspace identifier.
    
    * revert, looks like we now store workspace identifier also for empty and multi-root
    
    * perf - make migration of empty, root and no workspace easier
    
    * remove verification code and check for keys length
    
    * properly migrate empty workspaces (changed from empty: to just the ID unfortunately)
    f161d3fe
storageLegacyMigration.ts 5.7 KB