Large routine arguments

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Large routine arguments

Post by chulett »

Just wondering if I should be concerned about something.

I'm taking a routine that passes in as one of its arguments a dynamic array of indeterminate size and modifying it to take three arrays. I really can't say how large is 'large' as they will change in size from run to run and call to call but I don't think it would be anything I'd consider exceptionally large. So... anything to worry about, performance wise, ya think? :?
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54595
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Nah. All arguments are passed by reference - that is, the address of the string in memory is all that's passed to the routine.

That was, of course, a slight lie. What is actually passed is a DATUM, an internal, 16-byte structure that includes the address and also other information about the string, such as whether a REUSE() function is in effect, the field mark "hint" position for REMOVE, and so on.

But it's a good enough explanation. The moral of the story is that huge strings are not passed.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Good. I seemed to recall you stating this in the past but wanted to double-check. Thanks! :D
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply