Community
Participate
Working Groups
When compiling large teams like, e.g., org.eclipse.objectteams.internal.jdt.nullity.CompilerAdaptation it can be observed that around 40% of the compilation time is spent in generating the JSR-045 SMAPs, thus degrading the overall experience.
Created attachment 193419 [details] proposed fix and test adjustments The performance issue could be narrowed down to one specific loop inside RoleSmapGenerator.fillSmap, where all line numbers of a source file are added to a FileInfo and to a LineInfoReminder. The check LineInfoReminder.existsLineInfoFor looks a bit expensive. At a closer look we were adding way too many line infos. For a role inside a large team only the role's line number should be added not the whole source file (= the team). The patch fixes this and with this the effort of generating the SMAPs could be reduced from around 40% to around 1%! The patch also adjusts the test correspondingly. This needs verification in real world debugging, once we have a new build.
Patch committed as r1435,6, awaiting verification.
Debugging works as before, marking this issue as fixed.
Verified for 0.8M7 using build 201104300913