Community
Participate
Working Groups
When profiling the launch of Eclipse, with open Java perspective in workspace, I noticed a lot of ClassFile instances caused by a call to JavaProject.resetNonJavaResources, which caused all pkg fragment roots to be reset (JAR pkg fragment root are automatically populated down to class file handles). The code for resetting non-java resources is no longer necessary given the new delta processor implementation.
Removed the unnecessary code causing model populating. This reduced the amount of created ClassFile handles from 16000 down to 6500. Now I still see that all these are created for no good reason. through JavaProject.findPackageFragmentRoot(IPath) which needs a Namelookup, to answer the question, and it is expensive to initialize.
Moved the offending code directly on the project, since a namelookup is not necessary to handle it anyway (iterating through all roots is all it needs). Number of classfile now is: 0 !