Commit 79c16d2
perf: Add high-impact performance optimizations (v4.8.1)
Implement top 3 performance fixes identified in codebase analysis:
1. JSON Parsing Optimization (saves 500ms-2s)
- Add json_extract() using bash regex instead of grep|cut subprocess chains
- Add json_extract_multi() for single-pass multi-field extraction
- Update format_audit_entry(), list_pending_reviews(), approve_review(),
reject_review(), show_review(), and OpenRouter response parsing
2. Config Parsing Optimization (saves 200-500ms)
- Rewrite load_providers_config() with single-pass while-read loop
- Eliminate 15+ grep|sed chains that each read the file separately
- Parse all provider sections in one file read
3. Preflight Check Caching (saves 50-200ms per command)
- Add PREFLIGHT_CACHE_FILE and PREFLIGHT_CACHE_TTL (1 hour)
- Add preflight_cache_valid(), preflight_cache_write(),
preflight_cache_read(), preflight_cache_invalidate()
- Cache successful preflight results to avoid repeated CLI checks
- Invalidate cache on setup_wizard config changes
Additional optimizations:
- log() early return for disabled DEBUG logs (avoids date command)
- OpenRouter curl uses Connection: keep-alive header
Test suite:
- Add section 21 with 15 new performance optimization tests
- Total tests: 161 (all passing)
Estimated improvement: 500ms - 3 seconds faster per invocation
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>1 parent 792137d commit 79c16d2
2 files changed
Lines changed: 387 additions & 70 deletions
0 commit comments