|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MRM to XML Processing Time |
« View previous topic :: View next topic » |
Author |
Message
|
surenat |
Posted: Wed Sep 25, 2002 7:49 am Post subject: MRM to XML Processing Time |
|
|
Apprentice
Joined: 01 Jan 2002 Posts: 32
|
Hi,
I have flow which tranform comma-delimited(MRM) to XML. Input comma delimited message size is 600k. Inside this message there is compund elements which repeats around 20,000 times. The following is the code i am using in tranformation compute node.
Code: |
WHILE sec_count <= CARDINALITY(InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[]) DO
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."lendSec"."secId" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count].lendSec_e."secId";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."lendSec"."secIdType".(XML.attr)value = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count].lendSec_e."secIdType";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."unitQty" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."unitQty";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."undisclQty" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."undisclQty";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."orderExpDate" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."orderExpDate";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."dividendRate" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."dividendRate";
SET sec_count = sec_count + 1;
END WHILE;
|
To process this tranformation it is taking 8 minutes time. Is there any tway o make this transformation in less time.(20-60 secs).
Thanks for your help!!
Suresh |
|
Back to top |
|
 |
kirani |
Posted: Wed Sep 25, 2002 8:21 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Suresh,
You will get very low performance if using MRM-TDS/F as input messages. So try to use MRM-CWF and see how it makes differece. I also see that CARDINALITY function is called each time you enter the loop (i.e. 20,000 times). Move this function out of the loop and then measure your time. Your code will look like this:
Code: |
DECLARE TOT_CNT INTEGER;
SET TOT_CNT = CARDINALITY(InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[]);
WHILE ( sec_count <= TOT_CNT ) DO
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."lendSec"."secId" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count].lendSec_e."secId";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."lendSec"."secIdType".(XML.attr)value = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count].lendSec_e."secIdType";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."unitQty" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."unitQty";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."undisclQty" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."undisclQty";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."orderExpDate" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."orderExpDate";
SET "OutputRoot"."XML"."EQL_Message"."EQL_Body"."availability"."securities".security[sec_count]."dividendRate" = InputRoot.MRM."availabilityPost.Post_Sub_Msg_e".security_e[sec_count]."dividendRate";
SET sec_count = sec_count + 1;
END WHILE;
|
Let us know how much time this takes. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
surenat |
Posted: Wed Sep 25, 2002 8:51 am Post subject: |
|
|
Apprentice
Joined: 01 Jan 2002 Posts: 32
|
Kiran:
I have I tried moving cardinality function out of the loop & using MRM-CWF , still I do not see any improvement in performance. Please post any ideas i can try on.
-Thanks
Suresh |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|