Community
Participate
Working Groups
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.
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).
Created attachment 200913 [details] patch
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.
fixed
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink