[ 
https://issues.apache.org/jira/browse/AMQ-6438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530613#comment-15530613
 ] 

ASF subversion and git services commented on AMQ-6438:
------------------------------------------------------

Commit 9cb92a225fc1d93b8a8096cc6f11781e32623819 in activemq's branch 
refs/heads/activemq-5.14.x from [~tabish121]
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=9cb92a2 ]

https://issues.apache.org/jira/browse/AMQ-6438

JMS Transformer performance improvements and bug fixes

Trim unnecessary code and improve overall performance of the JMS
Transformer codecs.  Remove legacy Qpid JMS client related code from the
transformer as these are no longer supported.  Fix outgoing message that
do not match the structure of the incoming message that created them such
as message with had only a body being sent out with Headers and message
Properties.

(cherry picked from commit 63d62a71f59ec485ac79e1ce40e98316d37ca14a)


> AMQP: Performance improvements and fixes in the Message transformers
> --------------------------------------------------------------------
>
>                 Key: AMQ-6438
>                 URL: https://issues.apache.org/jira/browse/AMQ-6438
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.14.0
>            Reporter: Timothy Bish
>            Assignee: Timothy Bish
>             Fix For: 5.15.0, 5.14.2
>
>
> The JMS Message Transformer seem to have several areas where performance can 
> be improved.  
> Performance numbers on master before updates were made
> {noformat}
> [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]]
> {noformat}
> After updates and fixes.
> {noformat}
> [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]]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to