This is really isn't an assembler question.  IBM-MAIN is a better place to
discuss this.

First I would ask: why do you need so many active allocations at once?  You
can free allocations after you close the files.  You can even allocate them
with FREE=CLOSE so this happens automatically.

Second, have you looked into using the XTIOT for dynamic allocations?  For
ages now, VSAM data sets can be allocated using the XTIOT and uncaptured
UCBs.  As of z/OS 1.12 almost all other access methods also support XTIOT
and uncaptured UCBs.  XTIOT allocations do not use entries in the regular
TIOT.  This support was added for DB2 because it needs so many
simultaneously open data sets.  And XTIOTs with uncaptured UCBs use less
below-the-line storage than TIOT allocations.

The only performance problem with a large TIOT is that it allows many
non-XTIOT allocations.  Functions that access the TIOT must perform a linear
search of the TIOT entries, so DYNALLOC, OPEN, CLOSE, RDJFCB, EOV and the
like all get slower with more old-style allocations.  The TIOT can also get
messy to manage if there have been many allocations and deallocations. A
large TIOT does not slow down job steps with few allocations.

David

Reply via email to