Originally posted by: paul.brett
Consider the enclosed testcase.
Main1 calls SubMap1 and echoes back the content of output card 6, to then writes it to a file Output.txt. The first five output cards are set to SINK. The whole map is set to use Workspace file.
Main2 calls SubMap2 and allows it to write directly with output card 6, to a file Output.txt. The first five output cards are now set to FILE with the !Create option (do not create). The whole map is set to use Workspace file.
(Cards 4 and 5 are used to pause execution, while I examine the memory footprint. Card 5 uses the batch adapter, and the batch file called uses the sleep command. Make sure you have this command if you want to run these maps.)
When run with the default input, an echo of 'Input016.xml' the memory footprint is as follows:
Main1 = 28MB
Main2 = 6MB
Quite a difference. However, when we ramp-up the input file sizes, and call the map with an echo override -IE1 Input256.xml then we see a massive difference:
Main1 = 350MB
Main2 = 6MB
So, what did I do in Main 2 that I did not do in Main1? I removed the use of the SINK adapter and avoided doing a large ECHO back to the parent process.
Nothing highlights performance tips quite like an example. Enjoy!
Thank-you
Paul
Follow me on Twitter
#DataExchange#IBMSterlingTransformationExtender#IBM-Websphere-Transformation-Extender