Hi Art,
I didn't find any noticeable performance degradation using DLLs vs
static binding. However I haven't done any serious testing.
Some other thoughts off the top of my head:
- DLLs have to be re-entrant - no problem with C modules, but your
Assembler modules may need some tweaking.
- XPLINK and non-XPLINK really don't mix. So if one module is called by
both, you'll either need two flavours (XPLINK and non-XPLINK), or write
an Assembler 'glue' routine that somehow gets around the problem. Two
flavours is much easier.
- If you're writing an Assembler module DLL to be called by an XPLINK
module, you'll need to use the EDCXPRLG and EDCXEPLG macros in place of
the normal LE CEEENTRY and CEETERM macros.
- If you have a C module with functions (no mainline code), I found that
you still need a main() statement to create a CEEENTRY entry point for
your module. Without this, LE won't play with your module.
- It took me some time to figure out side files, and that you need to
include them when binding the modules that will call your DLLs.
- It sounds like you've only got C programs calling DLLs, which is fine.
If you have COBOL or PL/1 programs, it's a lot harder.
If you haven't found it already, the article at
http://www.ibm.com/developerworks/aix/library/au-bordercrossing/?S_TACT=105AGY06&
talks a lot about DLLs and XPLINK, and has other handy links.
David
Art Celestini wrote:
We have a variety of "CSECTs" that are statically bound into several
different load modules. These are mainly IBM C programs with a
smattering of Assembler. We are considering moving these into a set of
DLLs to reduce redundancy and simplify maintenance.
I am interested in any guidance list contributors might be willing to
offer in terms of dos and don’ts, gotchas, etc. regarding DLLs,
especially as it may apply to performance. One consideration is that
many of these modules are used in both batch and CICS, and in both XP-
Link and non-XP-Link environments. We are not opposed to the notion of
creating multiple DLLs for these different environments, if necessary.
Thanks in advance,
Art
==================================================
Art Celestini Celestini Development Services
Phone: 201-670-1674 Wyckoff, NJ
============= http://celestini.com =============
Mail sent to the "From" address used in this post
will be rejected by our server. Please send off-
list email to: ibmmain<at-sign>celestini<dot>com.
==================================================
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
--
David Stephens
Lead Systems Programmer
[email protected]
www.longpelaexpertise.com.au
<http://www.longpelaexpertise.com.au/images/logo.gif>
Ph. 0404 757 821 (from Australia)
(Longpela Expertise Logo)
Longpela Expertise - zSeries Mainframe Consultants
Read new expert Mainframe articles every quarter in our LongEx Mainframe
Quarterly <http://www.longpelaexpertise.com.au/ezine>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html