| Summary: | Reduce memory consumption for API Use Scan consumer report conversion ant task | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] PDE | Reporter: | Ankur Sharma <ankur_sharma> | ||||
| Component: | API Tools | Assignee: | PDE API Tools Inbox <pde-apitools-inbox> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | curtis.windatt.public, darin.eclipse, Michael_Rennie | ||||
| Version: | 3.7 | Flags: | curtis.windatt.public:
review?
(ankur_sharma) |
||||
| Target Milestone: | 3.7 M4 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Ankur Sharma
This is most likely caused by the UseScanParser's poor choice of opening every xml file even if the visitor says not to open any children (bug 328179). (In reply to comment #1) > This is most likely caused by the UseScanParser's poor choice of opening every > xml file even if the visitor says not to open any children (bug 328179). I have a patch in hand that avoids opening the xml file. While this definitely improves the performance of the conversion, the task still uses significantly more memory than the standard use scan converter. It would be worthwhile to profile the operation to see what areas are best to target. Created attachment 183411 [details]
Fix
I discovered that the entire tree of references was being stored and could not be GC'd between the visitors being run. Solution was to move the location where the producers were listed to inside the visitor where they are cleared after that visitor's consumer report is written.
The memory usage/time to complete for a 300k reference use scan (280Mb of HTML) is very similar what the standard use scan converter took for the same scan. Applied the fix to HEAD. Ankur, please verify. Verified in N20101204-2000 |