Description
The JMS Message Transformer seem to have several areas where performance can be improved.
Performance numbers on master before updates were made
[jms] Total time for 1000000 cycles of transforms = 14209 ms -> [testComplexQpidJMSMessage[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 4282 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 7363 ms -> [testTypicalQpidJMSMessage[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 4475 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 2468 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 1613 ms -> [testBodyOnlyMessage[Transformer->jms]] [native] Total time for 1000000 cycles of transforms = 13861 ms -> [testComplexQpidJMSMessage[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 5429 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 8523 ms -> [testTypicalQpidJMSMessage[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 4576 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 2577 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 646 ms -> [testBodyOnlyMessage[Transformer->native]] [raw] Total time for 1000000 cycles of transforms = 523 ms -> [testComplexQpidJMSMessage[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 215 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 474 ms -> [testTypicalQpidJMSMessage[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 468 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 274 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 436 ms -> [testBodyOnlyMessage[Transformer->raw]]
After updates and fixes.
[jms] Total time for 1000000 cycles of transforms = 10593 ms -> [testComplexQpidJMSMessage[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 3571 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 6172 ms -> [testTypicalQpidJMSMessage[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 3725 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 2202 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->jms]] [jms] Total time for 1000000 cycles of transforms = 837 ms -> [testBodyOnlyMessage[Transformer->jms]] [native] Total time for 1000000 cycles of transforms = 13193 ms -> [testComplexQpidJMSMessage[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 5172 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 7711 ms -> [testTypicalQpidJMSMessage[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 4061 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 2327 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->native]] [native] Total time for 1000000 cycles of transforms = 371 ms -> [testBodyOnlyMessage[Transformer->native]] [raw] Total time for 1000000 cycles of transforms = 212 ms -> [testComplexQpidJMSMessage[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 19 ms -> [testTypicalQpidJMSMessageOutBoundOnly[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 210 ms -> [testTypicalQpidJMSMessage[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 205 ms -> [testMessageWithNoPropertiesOrAnnotations[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 231 ms -> [testTypicalQpidJMSMessageInBoundOnly[Transformer->raw]] [raw] Total time for 1000000 cycles of transforms = 205 ms -> [testBodyOnlyMessage[Transformer->raw]]