perf(schema-compiler): Add Server Core shared caches for model compilation #10144
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.
This PR adds top-level (at server core) shared cache for model compilation. This should significantly improve the performance for multi-tenant environments.
Probably, even in multi-tenant envs there not all models (cubes) are tenant-specific. There are always some shared cubes that are the same for all tenants (e.g., some dictionaries). This PR brings top-level cache that is shared across all tenants, so if the model file is not changed (after transpilation/compilation), it will be reused for all tenants.
The core change is in this commit. While other changes are related to moving some source files to typescsript.
Check List