feat: add mtime-based file cache for collection files#7364
feat: add mtime-based file cache for collection files#7364chirag-bruno wants to merge 3 commits intousebruno:mainfrom
Conversation
Implement a persistent file cache using LMDB to avoid re-parsing unchanged collection files, improving load times for large collections. Key features: - LMDB-based cache with JSON encoding (no msgpack native deps) - mtime-based invalidation - automatically re-parses when files change - Version tracking to clear incompatible cache on upgrades - User preference to enable/disable caching (disabled by default) - Cache stats UI in Preferences > Cache tab - Prebuilt LMDB binaries for all platforms (darwin, win32, linux) Cache integration: - On file add: check cache first, use cached data if mtime matches - On file change: update cache after parsing - On file delete: remove from cache - On app quit: flush and close database
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Implement a persistent file cache using LMDB to avoid re-parsing unchanged collection files, improving load times for large collections.
Key features:
Cache integration:
Contribution Checklist:
Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.