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

Bug 353878

Summary: perf: deployment performance regression from 2.1 to 2.3
Product: z_Archived Reporter: James Sutherland <jamesssss>
Component: EclipselinkAssignee: Nobody - feel free to take it <nobody>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
patch none

Description James Sutherland CLA 2011-08-04 08:42:38 EDT
The performance of deploying a JPA persistence unit (predeploy) decreased from 2.1 to 2.3.

The cause seems to be the upgrade in asm versions.
Comment 1 James Sutherland CLA 2011-08-04 08:45:23 EDT
Looking into the issue, the asm degradation seems to be solvable by adding the skip_frames/code/debug to the metadata class reader (none of which are required for reading the metadata).

Also, most of the time is spent in loading the metadata classes, this can be improved by,
- micro optimizing the processDescription method
- avoid parsing the fields and methods unless required (only required for mapped classes, other classes should be processed lazily).
Comment 2 James Sutherland CLA 2011-08-04 09:13:30 EDT
Created attachment 200913 [details]
patch
Comment 3 James Sutherland CLA 2011-08-04 10:01:46 EDT
SVN trunk commit: Bug#353878 - regression in deployment performance

https://bugs.eclipse.org/bugs/show_bug.cgi?id=353878

Code review: Guy (pending)

Changes:
- Added JPA deployment performance tests.
- Changed MetadataAsmFactory to skip frames, code, debug when parsing class meta data.
- Added support for lazy MetadataClasses to lazily parse their fields/methods.
- Added method to MetadataFactorys to request lazy or non lazy metadata.
- Micro optimized processDescription code in MetadataAsmFactory.
- Changed metadata processing to request non lazy metadata for likely mapped classes, and lazy for all other classes.
Comment 4 James Sutherland CLA 2011-09-27 08:20:29 EDT
fixed
Comment 5 Eclipse Webmaster CLA 2022-06-09 10:32:36 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink