Learning: Instantiating Date objects repeatedly inside a render or filter loop for large lists causes measurable UI slowdowns. String concatenations and lowercasing inside filter functions also contribute significantly to overhead. Search and filter performance optimization achieved a measurable ~128x speedup (reduction from ~115ms to ~0.9ms per iteration for a 5,000 item dataset) by pre-indexing derived properties (_searchStr, _isNew, _formattedDate) instead of calculating them inline during high-frequency render/filter loops.
Action: Always pre-calculate and store formatted date properties and derived search strings on the data objects during initial load. When filtering list data using pre-calculated search fields (e.g., _searchStr), always use a truthiness guard (e.g., !pdf._searchStr) before calling string methods like .includes() to prevent crashes on unindexed or malformed items.