Community
Participate
Working Groups
Consider backporting performance fix to 3.7.1. +++ This bug was initially created as a clone of Bug #351258 +++ Build Identifier: 3.7 The ExportedPackageImpl constructor, which gets called numerous times in most of the package admin service, is one of the top performance hotspots. During the constructor call, Version.toString() is called. Even after Version.toString() is optimized (324331), this remains a hotspot, as it seems that Version objects don't seem to be reused, thus negating the benefit of the Version.toString() optimization. The specVersion computation doesn't appear to be a central operation in ExportedPackageImpl, and yet each constructor call incurs a call to Version.toString(). I tried out a change where specVersion is lazily computed (computed only if getSpecVersion() is called), and that leads to a *substantial* performance improvement. Would it be possible to have this fixed and optimized that way? I can provide a patch if needed. Thanks! Reproducible: Always
I released the fix to 3.7.1. http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?h=R3_7_maintenance&id=3ab35f86a0300127686de6ce794eb31e6cdfd6c2