Preliminary Results For On-Demand Binding Attribute Removal
Test Case
- Create a visual web project.
- On Page1.jsp, create 18 table components.
- Create 20 copies of Page1.jsp.
- Close all editors and restart the IDE.
- Open 3 pages, switch to the Java view, switch back to designer view, and close the editors.
Results
- Runtime Performance
- No significant performance gain on page open or tab switching
- Page copy action runtime decreased from ~3500ms to ~250ms after fix
- Memory Consumption - ~10% improvement
- Before Fix - After opening/closing 3 pages, memory meter at 53MB
- After Fix - After opening/closing 3 pages, memory meter at 48MB
- File Size
- Java file size reduced from 40kB to 7kB
- Jsp file size reduced from 30kB to 22kB
Additional Stress Test
- Steps
- Create a project
- In the page drop a table and copy and duplicate it to 20 tables
- Copy the page and duplicate it to 128 pages.
Results
- Results With binding
- Extremely slow to copy and create all the pages (more than 20 minutes)
- Memory in the memory meter reached 512 MB and OME after copying about 95 pages
- Copy all 128 pages after restarting IDE
- Final project size 10.2 MB
- Restart IDE and Open project and 10 pages (switch to Java) - Memory 120/190 MB
- Result With out binding
- Reasonably faster to copy and create all the 128 pages (more than 5-7 minutes)
- Final Memory in the memory meter (after GC) 165/340 MB
- Final project size 1.9 MB
- Restart IDE and Open project and 10 pages (switch to Java) - Memory 75/140 MB