Community
Participate
Working Groups
Build Identifier: Working with big php files (>25k lines of code) gets slower with Outline view open. Reproducible: Always
Created attachment 209932 [details] Outline view performance improvement - patch Checking field's flags, as well as any other calls to dltk model is time consuming. Attached patch introduces changes that avoids examining dltk model when Outline view content is being updated. 1. OutlineFilter.matches(): filtering non-class variables is more effective when field’s parent is checked instead of field’s flags. If parent is not a class or interface then false is returned. 2. UseStatementAwareImageProvider.getBaseImageDescriptor(): getting images requires checking field’s/method’s flags. If field’s/method’s parent is not a class or interface then there is no point in checking flags and public field/method image is quickly returned. 3. PHPAppearanceAwareLabelProvider.getText(): There is no need to examine underlying model when simply field’s name can be returned as text for Outline view. 4. PHPOutlineContentProvider.hasChildren(): Fields and methods don’t have children on the Outline view.
great job Natalia! patch applied
Verified. Closing Ilina Stefanova