Optimizing Performance with Caching
Caching in DaVinci Configurator Classic is used to improve performance and reduce processing time by storing frequently accessed or derived project data.
What are the Advantages?
Caching provides several key benefits for your configuration workflow:
-
Performance Improvement: Significantly reduces processing time for common operations
-
Resource Efficiency: Reduces computational overhead by reusing previously calculated results
-
Team Collaboration: Remote cache enables sharing of cached data across multiple users and build systems
-
Runtime Improvement: Significantly reduces runtime for validation and generation operations
When Does it Help?
Caching provides the most benefit when:
-
Repeating operations with the same input data
-
Working in teams where multiple users work on similar configurations
-
Running CI/CD pipelines that process the same or similar projects repeatedly
-
Performing incremental changes to large projects
Caching provides less benefit when:
-
Working with constantly changing input data
-
Processing each project configuration only once
-
Working with very small projects where calculation time is already minimal
What Gets Cached?
Validation Results
The system caches validation results to avoid re-running the same checks repeatedly when the input data has not changed. This improves performance during configuration workflows, especially for large projects with complex validation rules.
When loading a project, cached validation results are automatically loaded if available and still up-to-date.
Generation Data
Generation processes benefit from caching by storing intermediate results. When generating code or configuration files, previously computed data can be reused if the input parameters remain unchanged.
Conditional Generation Cache
For conditional generation, the cache stores:
-
Input Hash: A unique identifier for the input configuration data
-
On-Demand Validation Results: Validation results that are computed during generation when needed
-
Output Files: The generated files associated with the input hash
How to get Started?
The Cache is split into a local and a remote component.
DaVinci Configurator Classic supports two types of caching:
-
Local Cache: Stores data on your local machine for quick access during your work sessions
-
Remote Cache: Shares cached data across multiple users or CI/CD systems to benefit from it in distributed environments
Local Cache
See Local Cache for advanced configuration options.
Remote Cache
See Remote Cache for detailed setup instructions.
How is Cache Data Kept Up-to-Date?
The cache automatically verifies whether cached data is still up-to-date when loading projects or executing operations.
Cache data is automatically invalidated whenever the tool version changes. Additionally, each caching task defines custom rules for invalidation.
Validation Results
The system performs a fresh calculation for validation results when it detects that cached data is no longer up-to-date. This occurs when:
-
Project Files: Any project model, project setting or DaVinci Developer Classic workspace file change
-
BSW Package Files: Any BSWMD, BSW setting or Generator file change
If any of these aspects have changed, the cached validation results are considered outdated and a fresh calculation is automatically performed.
Generation Data
The system performs a fresh calculation for generation data when it detects that cached data is no longer up-to-date. This occurs when the input hash changes.
When the input hash changes, the cached generation data is considered outdated and a fresh calculation is automatically performed.
|
These up-to-date checks happen automatically. You do not need to manually clear the cache when making changes to your project or BSW Packages. |