| Summary: | [compiler][smap] improve performance of smap generation | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] Objectteams | Reporter: | Stephan Herrmann <stephan.herrmann> | ||||
| Component: | OTJ | Assignee: | Stephan Herrmann <stephan.herrmann> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 0.8 | ||||||
| Target Milestone: | 0.8 M7 | ||||||
| Hardware: | Other | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Stephan Herrmann
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 |