| Summary: | [otre] class RepositoryAccess is wasting memory | ||||||
|---|---|---|---|---|---|---|---|
| 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: | 2.0 | ||||||
| Target Milestone: | 2.1 M2 | ||||||
| Hardware: | Other | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Stephan Herrmann
Created attachment 201992 [details]
Implementation of diet class loading
This patch implements diet versions of ClassLoaderRepository,
ClassParser and JavaClass, which only read structural information
and dispose the constant pool after reading.
Only one client needs to lookup a method signature:
ObjectTeamsTransformation.addTeamInitializations(),
which is now handled by a new method lookupClassFully().
When running the OTDT (SDK based install) with OT perspective and a
team class open, I could observe (using MAT) the following improvement:
Old: class RepositoryAccess retains 239 MBytes on the heap!
New: class RepositoryAccess retains 2.3 MBytes on the heap!
Patch has been released for 2.1 M2 (r1959). Verified: using 2.2 M5 RepositoryAccess is no longer relevant in terms of retained memory. |