Skip to content

Add scanner decorator system for performance analysis#2

Merged
yhao3 merged 2 commits intomainfrom
feature/scanner-decorator-system
Jan 9, 2026
Merged

Add scanner decorator system for performance analysis#2
yhao3 merged 2 commits intomainfrom
feature/scanner-decorator-system

Conversation

@yhao3
Copy link
Copy Markdown
Owner

@yhao3 yhao3 commented Jan 9, 2026

Summary

  • Add TimedScanner decorator for AOP-style timing logs
  • Add PerfScanner decorator for CSV performance data collection
  • Add ScannerDecoratorRegistry for OCP-compliant decorator selection
  • Document debug settings in README

Changes

  • TimedScanner: Logs scan time to console (enabled via debug-timing)
  • PerfScanner: Outputs CSV to /tmp/hinto-perf.csv (enabled via debug-perf)
  • ScannerDecoratorRegistry: Selects decorators based on debug preferences

Debug Options

defaults write dev.yhao3.hinto debug-timing -bool true   # Console timing
defaults write dev.yhao3.hinto debug-perf -bool true     # CSV output

yhao3 added 2 commits January 10, 2026 01:19
TimedScanner wraps any ElementScanner and logs execution time.
In DEBUG mode, all scanners are automatically wrapped to show:
  ⏱ SearchPredicate: 12.3ms (45 elements)
  ⏱ HitTest: 850.2ms (23 elements)
- Add ScannerDecoratorRegistry for OCP-compliant decorator selection
- Add PerfScanner decorator outputting CSV to /tmp/hinto-perf.csv
- Add TimedScanner integration with debug options
- Document debug settings in README (debug-file-logging, debug-timing, debug-perf)
@yhao3 yhao3 merged commit c50752f into main Jan 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant