d9a024bab2
- The optimization reduces time spent in `LLFirProvider.SymbolProvider` during my tests by 30-90% in some highlighted files. In other performance tests, the optimization makes performance worse, so more work is needed. In general, higher workload tests run faster with the optimization, while lower workload tests run slower. This is expected as the optimization trades short-term performance (for building classifier/callable name sets) in favor of long-term speedup. - The changes should also reduce the size of declaration caches like `LLFirProviderHelper.classifierByClassId`. - Building the name sets has a second use, as a similar optimization can be implemented for dependent module providers, which may rely on the sets computed here.