| Summary: | JPA2: Profile performance and GC characteristics of Metamodel API prior to JPA 2.1 enhancements | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Michael OBrien <michael.f.obrien> |
| Component: | Eclipselink | Assignee: | Project Inbox <eclipselink.orm-inbox> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | eclipselink.orm-inbox, martin.grebac |
| Version: | unspecified | Flags: | michael.f.obrien:
documentation+
|
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
| Bug Depends on: | 326552, 266912, 338140 | ||
| Bug Blocks: | 338674 | ||
We need to profile GC and performance stats to see if we should be using Weak or Soft references instead of Hard references to start. >See Metamodel.java - can we key on a String instead of an Identity Class or Metamodel Class
/** The EclipseLink Session associated with this Metamodel implementation that contains all our descriptors with mappings **/
private DatabaseSession session;
/** The Map of entities in this metamodel keyed on Class **/
private Map<Class, EntityTypeImpl<?>> entities;
/** The Map of embeddables in this metamodel keyed on Class **/
private Map<Class, EmbeddableTypeImpl<?>> embeddables;
/** The Map of managed types (Entity, Embeddable and MappedSuperclass) in this metamodel keyed on Class **/
private Map<Class, ManagedTypeImpl<?>> managedTypes;
/** The Map of types (Entity, Embeddable, MappedSuperclass and Basic - essentially Basic + managedTypes) in this metamodel keyed on Class **/
private Map<Class, TypeImpl<?>> types;
/** The Set of MappedSuperclassTypes in this metamodel**/
private Set<MappedSuperclassTypeImpl<?>> mappedSuperclasses;
JPA 2.1 done, no measurements planned here. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |
>before bug# 338674 - We need to find any performance or volumetrics issues before starting any JPA 2.1 implementation changes. - specifically are we causing GC behavior changes by caching metadata or eclipselink objects or factories beyond their required scope