Author |
Message
|
Nitgeek |
Posted: Mon Aug 19, 2013 5:23 am Post subject: Mapping node VS ESQL compute node |
|
|
Novice
Joined: 21 Feb 2012 Posts: 21
|
Mapping node vs ESQL compute node, which one better to use, performance wise?
I have two cases to think about:
1. When the message is huge, say I have 1000 fields in my XML.
2. When we have to do a copy entire message(small message). |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Aug 19, 2013 5:27 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 19, 2013 6:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
Mapping node is not ever faster than ESQL. On simple, small XML payloads, it can achieve about 50% performance of a Compute node. |
Given that, as always, individual experiences may vary based on individual situations.
Future readers should also note that this gap is expected to close over time as improvements are made to the graphical mapping tool. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Nitgeek |
Posted: Mon Aug 19, 2013 6:25 am Post subject: |
|
|
Novice
Joined: 21 Feb 2012 Posts: 21
|
Vitor wrote: |
Given that, as always, individual experiences may vary based on individual situations.
|
I have a huge XML message(say 1000 fields) and I am going to do a copy entire message.
The number of messages are going to be around 2 to 3 per day.
In this case which one should be better? |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Aug 19, 2013 6:28 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Nitgeek wrote: |
Vitor wrote: |
Given that, as always, individual experiences may vary based on individual situations.
|
I have a huge XML message(say 1000 fields) and I am going to do a copy entire message.
The number of messages are going to be around 2 to 3 per day.
In this case which one should be better? |
What Vitor seems to be advocating is: try it both ways and see which way works best for you in your individual situation. I agree with Vitor: you need to do your own homework and find out. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Aug 19, 2013 6:40 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
ESQL compiles down into C runtime calls.
Mapping node, in v8, compiles down into Java runtime calls. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Aug 19, 2013 7:28 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Mapping node vs ESQL compute node, which one better to use, performance wise? |
It depends on what you are doing. Simple copying of fields will be fastest in ESQL. Complex transformations can be faster using the Mapping node, but are not always. But the differences are usually small. Don't use performance as a reason to recommend either Mapping or ESQL, unless you can show some relevant performance statistics ( for the particular message flow and data ) to back up your case.
Quote: |
I have a huge XML message(say 1000 fields) and I am going to do a copy entire message. |
If you are simply copying the data from input to output then I don't understand why you asked the question. Surely you are just parsing using the BLOB domain and copying InputBody to OutputBody? _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
mqsiuser |
Posted: Mon Aug 19, 2013 2:08 pm Post subject: |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
kimbert wrote: |
Complex transformations can be faster using the Mapping node |
I doubt that there is a single case (where this is true)
Anybody ever experienced that?
ONE example (only), please  _________________ Just use REFERENCEs |
|
Back to top |
|
 |
fatherjack |
Posted: Tue Aug 20, 2013 2:09 am Post subject: |
|
|
 Knight
Joined: 14 Apr 2010 Posts: 522 Location: Craggy Island
|
mqsiuser wrote: |
kimbert wrote: |
Complex transformations can be faster using the Mapping node |
I doubt that there is a single case (where this is true)
Anybody ever experienced that?
ONE example (only), please  |
Over the years I've come across lots of developers who were really adept at writing very poor code. _________________ Never let the facts get in the way of a good theory. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 20, 2013 4:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqsiuser wrote: |
kimbert wrote: |
Complex transformations can be faster using the Mapping node |
I doubt that there is a single case (where this is true) |
I can imagine there are a number of cases with the new (V8 & later) mapping tool, which produces a complied runtime object, as opposed to the v7 & earlier graphical tool which simply produced ESQL that my cat could have improved on.
Also, to take the point of @fatherjack, an inexperienced ESQL developer will probably produce a more efficient complex transformation using the mapper than he will with ESQL.
Note also "faster" can be "faster to develop". Can be a significant measure in some (though clearly not all) use cases. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Aug 20, 2013 4:29 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 20, 2013 4:46 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
How hard can it be to SET a = b; ? |
A number of developers of my experience would answer:
"How hard would you like?"
If all you're doing is
then calling that a "complex transformation" is a bit of a stretch, in the same way claiming that all ESQL assignments are in essence
.
lancelotlinc wrote: |
Nonetheless, Vitor's suggestion is a good one: try it out both ways to see which works best for you. |
Well thank you. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
sgiles |
Posted: Tue Nov 12, 2013 2:37 pm Post subject: |
|
|
Newbie
Joined: 12 Feb 2002 Posts: 8 Location: Melbourne , Australia
|
Hi,
Thanks to lancelotlinc for providing a link to the performance management document.
My interpretation of IBM's perfromance management statement was that the GUI mapper typically runs at 50% of native code rather than 50% being the max value.
The statements also says that the mapper is a good choice for perfromance senstive code, not sure what that means.
Stephen |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Nov 13, 2013 3:54 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The v8 and later mapping node compiles down to java byte code.
Once this compilation is done, it therefore runs as fast as the rest of the parts of the product that are based on java run.
ESQL is executed by the C++ portion of the runtime. I do not make speculation as to whether this does or does not run faster than the JVM.
I will also take this moment to mention http://www-01.ibm.com/support/docview.wss?uid=swg1IC94167 |
|
Back to top |
|
 |
|