Files
Linux-Server-Management-Too…/modules
Developer 622f100250 OPTIMIZATION: Implement scanner detection caching to reduce redundant checks
Adds caching system for scanner installation detection to avoid repeated
calls to is_*_installed() functions, which perform command lookups and
file checks on each invocation.

Changes:
1. Added cache variables for each scanner (IMUNIFY/CLAMAV/MALDET/RKHUNTER_INSTALLED_CACHE)
2. Added cache_scanner_detection() function to populate cache once
3. Added is_scanner_cached() wrapper for cache-aware queries
4. Initialize cache in main() function after initial detect_scanners()
5. Updated menu functions to use cached checks:
   - maldet_scan_submenu() (displayed in loop, multiple checks per session)
   - maldet_launch_scan() (called repeatedly during menu navigation)
   - maldet_update_signatures() (status check before operations)
   - maldet_view_results() (status check before operations)

Performance Impact:
- Reduces 4+ is_*_installed() calls per menu navigation cycle to 1
- Typical usage: User navigates through menus 5-10 times = 20-40 redundant checks eliminated
- Each direct check involves: command -v lookup + optional file stat check
- With caching: Subsequent checks are array lookups (O(1) vs O(n))

Status: ✓ Syntax validated, caching integrated into menu system
2026-04-21 22:07:43 -04:00
..