Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 340109

Summary: HTMLReportEmitter Consumes Unnecessarily High Memory
Product: z_Archived Reporter: Scott Hamilton <scott.hamilton>
Component: BIRTAssignee: Jianchao Li <jianchao.li>
Status: RESOLVED FIXED QA Contact: Xiaoying Gu <bluesoldier>
Severity: major    
Priority: P3 CC: bluesoldier, jianchao.li
Version: 2.6.1   
Target Milestone: 3.7.0 RC1   
Hardware: All   
OS: All   
Whiteboard: Obsolete

Description Scott Hamilton CLA 2011-03-16 01:06:39 EDT
The HashSet<String> outputBookmarks gets an entry for each table and div but the data is never used (as far as I can see). So if you have 1 million pages (an extreme, I know), you get 1 million bookmark entries added to the hashset.

Ouch!

As a work-around for now, I subclassed this emitter and forced this field to null, which safely does NOT add to the HashSet, and wow, oh, the memory savings! I'm generating millions of pages with negligible memory consumption!!!
Comment 1 Jianchao Li CLA 2011-05-17 03:53:27 EDT
The hash set for the bookmarks in HTMLReportEmitter is unnecessary now because a BookmarkManager is used when executing the report items to guarantee the user defined bookmarks are unique for the HTML output. Fixed in 2.6.2 and head branch.