Summary
ensure_nltk_resources() is called from multiple locations across processor.py and filters.py. Although it is centralized in nltk_resources.py, each call triggers NLTK's internal check, adding unnecessary overhead.
Proposed Approach
- Call
ensure_nltk_resources() once at application startup (e.g., in cli.py before analysis begins)
- Alternatively, add a module-level flag in
nltk_resources.py so it only executes on the first invocation
- Remove scattered calls from
processor.py and filters.py
Affected Files
src/barscan/analyzer/nltk_resources.py
src/barscan/analyzer/processor.py
src/barscan/analyzer/filters.py
Summary
ensure_nltk_resources()is called from multiple locations acrossprocessor.pyandfilters.py. Although it is centralized innltk_resources.py, each call triggers NLTK's internal check, adding unnecessary overhead.Proposed Approach
ensure_nltk_resources()once at application startup (e.g., incli.pybefore analysis begins)nltk_resources.pyso it only executes on the first invocationprocessor.pyandfilters.pyAffected Files
src/barscan/analyzer/nltk_resources.pysrc/barscan/analyzer/processor.pysrc/barscan/analyzer/filters.py