| Summary: | Performance and memory improvements for the three producer Common Base Event implementations. | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Eric Labadie <labadie> | ||||||||
| Component: | TPTP | Assignee: | Paul Slauenwhite <paulslau> | ||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||
| Severity: | enhancement | ||||||||||
| Priority: | P1 | CC: | knight, zung | ||||||||
| Version: | unspecified | Keywords: | plan | ||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| URL: | http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_112371.html | ||||||||||
| Whiteboard: | closed460 | ||||||||||
| Bug Depends on: | 119461, 119464, 119467, 119474 | ||||||||||
| Bug Blocks: | |||||||||||
| Deadline: | 2006-03-29 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Eric Labadie
Did you use Import Log wizard to import the CBE XML log? Try to import the same log with Import Profile File (make sure you add <CommonBaseEvents> as root element) and compare the results. This defect is not critical since there is no functional breakage nor regression of function. As such, decreasing the severity to normal P2 Highly desirable and planned for this release, but not stop ship normal A problem making a function difficult to use but no special work around is required Created attachment 28271 [details]
EventFormatterPerformancePatch.txt
Although in your test environment you are using a JDK (e.g. IBM JDK) that ships the Xerces parser, some JDKs (e.g. Sun JDK v1.4.x) ships a proprietary XML Parser implementation (e.g. Crimson) which often deviates from the XML Parser specification. For example, although the XML Parser specification specifies that "once a parse is complete, an application may reuse the same XMLReader object, possibly with a different input source", the TPTP and EMF Teams have found this not to be entirely correct for all XML Parser implementations. As such, we have opted to create a new instances of the org.xml.sax.XMLReader and org.eclipse.hyades.logging.events.cbe.util.SAXEventHandler on each invocation of the org.eclipse.hyades.logging.events.cbe.util.associationEnginesFromCanonicalXMLDoc () and org.eclipse.hyades.logging.events.cbe.util.eventsFromCanonicalXMLDoc() methods. Also, the proposed fix (see attach) contains the overhead of synchronizing each call to the above static methods as well as the memory consumption of a static lock object. Ultimately, more investigation is needed to determine the residual side affects of the proposed fix (see attach) and possible the design and implementation of an alternative fix to achive similar performance benefits without the high risk of a functional breakage in certain run-times. As such, re-targeting to TPTP v4.2. Sizing (PW): Design: 2 Code: 1 Test: 2 Documentation: 0.5 ------------------ Total: 5.5 Performance/memory improvements for the native Common Base Event implementation. Based on discussions with an internal IBM group on using native Common Base Event implementation on constrained devices (e.g. Palm, PocketPC, etc.), the code should be thoroughly reviewed for possible performance/memory improvements. For example, all setters persist the old value before setting the new value for no reason. For instance, char* oldLocalInstanceId = commonBaseEvent->_localInstanceId; This work should extend to both Java (EMF and non-EMF) Common Base Event implementations. As such, changing summary accordingly. One potential performance improvement (analysis required) is to store the template Common Base Event as an XML fragment/document in the org.eclipse.hyades.logging.events.cbe.impl.TemplateContentHandlerImpl. When the completeEvent(CommonBaseEvent) method is invoked, the Common Base Event XML fragment/document would be de-serialized into the parameter Common Base Event. However, the org.eclipse.hyades.logging.events.cbe.util.SAXEventHandler would need to be changed to allow callers to provide a parameter Common Base Event and the SAXEventHandler would need to respect the existing properties in the parameter Common Base Event. *** Bug 100601 has been marked as a duplicate of this bug. *** Created attachment 30229 [details]
EventHelpersPerformancePatch.txt
Please raise this as a P1 These performance patches are NOT product quality. As such, they require reworking, code review and exhausting testing. (In reply to comment #9) > Please raise this as a P1 This is not a P1 since TPTP can ship with this defect (see http://www.eclipse.org/tptp/home/documents/process/development/bugzilla.html). Created attachment 30238 [details]
XmlUtilityPerformancePatch.txt
Please change this to "enh" and raise it to P1. We are asking for it to be a feature in 4.2 Regarding back porting the fixes proposed and potential for this defect to a previously released version of TPTP (e.g. TPTP v3.3) with the same function, there is no technical limitation to complete this work. Since all previously released versions of TPTP are considered stable, all performance improvements require extensive testing to decrease the risk of a functional breakage in certain run-time(s). Once performance improvements have been designed, implemented and testing on the target release/run time(s), the only cost to port to any previous release of TPTP with the same function will be testing for all supported run time(s). The sizing (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=112371#c5) remains accurate for this enhancement since an exhaustive performance evaluation of this code as well as more investigation is required to determine the residual side affects of the proposed fixes possibly requiring the design and implementation of alternative fixes to be completed. Since these performance and memory improvements are not trivial and require design and review as well as weeks of implementation and testing, this defect is being be converted to an enhancement with child defects for individual work items for consideration in the TPTP v4.2 plan. P1 Cannot ship without this enhancement Description document: http://www.eclipse.org/tptp/groups/Architecture/documents/features/hf_112371.html Completed the following sub-defects/work items: 119461 119464 119467 Since https://bugs.eclipse.org/bugs/show_bug.cgi?id=119474 is a general performance and memory defect for all three producer Common Base Event implementations, we will keep this defect open for the remainder of TPTP V4.2.0 to address any further performance and memory issues. Marking this enhancement as completed/fixed. 16.76% improvement for event creation, serialization and de-serialization for small events. As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open. |