General tips about performance when you use Z Data Tools functions

The following tips are provided as a guide to improving performance when using Z Data Tools functions:
  • Reading sequential input files with DFSORT
    • For the best overall Z Data Tools product performance, it is strongly recommended, for all Z Data Tools installations, that DFSORT be made available to Z Data Tools so that it can use DFSORT I/O technology. For details, see the Z Data Tools Customization Guide.
      Note: It is not necessary for you to have a DFSORT license in order for Z Data Tools to use DFSORT technology.
    • DFSORT technology can be used by Z Data Tools in interactive operations such as certain Z Data Tools edit and browse scenarios. It can also be used by Z Data Tools for both interactive and batch executions of the Z Data Tools utilities, Data Set Copy (DSC) and Data Set Print (DSP).
    • For the DSC and DSP utilities, Z Data Tools attempts to use DFSORT technology when reading:
      • Sequential (DSORG=PS) data sets.
      • A VSAM file, provided there are FASTPROC (DFSORT) commands in the user PROC. If there is no user PROC, or the PROC contains no FASTPROC statements, Z Data Tools uses its own VSAM I/O.
    • For DSC, when Z Data Tools chooses to use DFSORT technology to read an input file, it may also use DFSORT to write the primary output data set.
    • Development measurements show that Z Data Tools using DFSORT technology can reduce sequential (DSORG=PS) I/O (EXCPs) by two orders of magnitude. Z Data Tools using DFSORT technology can also significantly reduce CPU utilization, compared to Z Data Tools without access to DFSORT technology. Both I/O and CPU performance gains are greatest in the simplest situations where little or no special Z Data Tools processing is required. The CPU gains can also be significant when all, or a large portion, of any record reformatting or other work can be done by DFSORT using FASTPROC (DFSORT) commands.
    • Z Data Tools can use DFSORT technology even if it needs to process individual records, such as when using a PROC or a template or copybook. However, some things can prevent Z Data Tools from using DFSORT I/O technology on a particular sequential input file:
      • An IO exit is being used on the input data set.
      • The input data set:
        • Is a concatenated data set with unlike attributes.
        • Is an LRECL=X data set.
        • Is a HFS file.
        • Contains records of undefined length (RECFM=U).
        • Is being processed with a template that contains segmented records.
        Z Data Tools makes the determination about DFSORT use based on the above conditions and other factors which may affect performance. Note that, under some conditions (with tape data sets), Z Data Tools may not be able to detect unlike data set attributes and still invoke DFSORT for copy processing. Such invocation may fail since DFSORT does not allow for unlike concatenation of data sets. In such cases, you can disable DFSORT with the NOSORT function to allow for successful processing of concatenated datasets with unlike attributes.
    • It is possible to directly control DFSORT processing using DFSORT commands in a Z Data Tools PROC. For details, see the documentation on FASTPROC in Coding DFSORT procedure statements. It can be worth using this feature when very high performance is required. DFSORT can perform operations with high efficiency before Z Data Tools processes the data records, or in some cases without Z Data Tools processing any data records at all. The main "cost" to you, the user, is learning and using another syntax for DFSORT commands.
  • Use the FASTREXX subset of REXX

    If a user PROC is required, it is strongly recommended that, rather than the full REXX language, the FASTREXX subset of REXX is used. Z Data Tools provides a set of external REXX functions designed to allow many common tasks to be performed within the FASTREXX subset. See Enhancing Z Data Tools processing for a discussion of FASTREXX, and External REXX functions.

  • Template and copybook processing

    Several functions, including BTB, PBK, and many of the Data Set functions (DS*), allow template or copybook processing. When using these functions, consider the following performance-related points:

    • Z Data Tools can be most efficient if a template is used instead of a copybook.
    • If a copybook must be used, for best performance specify the copybook language explicitly (LANG=COBOL, LANG=PLI, or LANG=HLASM).
    • Template expressions should be written, if at all possible, using expressions suitable for Z Data Tools internal processing. For more details, see Improving performance using internal expression processing.