This improves loading performance on large workspaces by ~1/3rd by avoiding the need to create TypeNames just for searching for a matching Schema type declaration for the name.
It introduces a cache type that maintains a separate dictionary for Schema types so given a TypeName we can just test for a match without creating a new TypeName. The Schema dictionary is constructed as types are added to the cache.
This improves loading performance on large workspaces by ~1/3rd by avoiding the need to create TypeNames just for searching for a matching Schema type declaration for the name.
It introduces a cache type that maintains a separate dictionary for Schema types so given a TypeName we can just test for a match without creating a new TypeName. The Schema dictionary is constructed as types are added to the cache.