The listing library datasets (from compile output) are compressed.
Compression of PDSEs can now be done by zEnterprise Data Compression (zEDC) - is it possible to use this instead?
Has any evaluation of this been done as an alternative?
All Supported Releases
In this case the listing libraries were PDSE datasets with RECFM=VBA which means they are compressed because the CONLIST Utility compresses a VBA dataset by default.
Endevor Engineering provided the following advice:
zEDC compression at the data set level is transparent to the Endevor application and can be activated any time. Compressing data that's already in some compressed format usually doesn't provide a significant benefit. There would be 2 ways to test the compression differences:
The expectation is that the second approach will be the more CPU efficient because software compression is replaced with hardware compression. There is no prediction about which compression will be most DASD-efficient.
WhenTest #2 was run by user using BC1PNCPY Utility to copy/uncompress the existing Endevor VBA listing library dataset to a zEDC compressed FBA listing library dataset i.e. COPY INPUT FILE (VBA) to OUTPUT FILE (FBA) with the UNPACKED option set only on the OUTPUT.
The size of the resulting zEDC compressed FBA listing library (Used pages = 394,147) represented a gain of 66% in free space compared to the original Endevor compressed VBA listing library (Used pages = 1,130,893)
Endevor Engineering also tested as follows on a z15 LPAR with integrated compression for a listing library with 1182 members:
a. Without any compression, 407611 pages are used
b. With Endevor compression, 76173 pages (gain: 81%)
c. With zEDC-compression of Endevor-compressed data, 63033 pages (gain: 84%)
d. With zEDC-compression of uncompressed Endevor data, 57602 (gain: 86%)
As for the impact on CPU, that depends on how much Endevor compression/decompression takes place. For "normal" Endevor work like generating and moving elements, the impact is small. However, for work that involves reading or writing all members of a library (e.g. BC1PNCPY), the impact is high. Having said that, the latter work only happens occasionally or even almost never. Note that UNLOAD copies PDSE members "as is", i.e. there's no compression/decompression being done.
1. Example JCL for BC1PNCPY:
//BC1PNCPY EXEC PGM=NDVRC1,PARM='BC1PNCPY',REGION=4096K
//STEPLIB DD DISP=SHR,DSN=hlq.mlq.CSIQAUTU
// DD DISP=SHR,DSN=hlq.mlq.CSIQAUTH
//CONLIB DD DISP=SHR,DSN=hlq.mlq.CSIQLOAD
//ELIBI DD DISP=SHR,DSN=hlq.mlq.ELIB
//ELIBO DD DISP=SHR,DSN=hlq.mlq.PDSE
//SYSIN DD *
COPY
INPUT DDN ELIBI
OUTPUT DDN ELIBO
MEMBER *
.
//BSTERR DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYMDUMP DD DUMMY
//SYSDUMP DD DUMMY
2. IBM zEDC Compression information for PDSEs: Creating Compressed Format PDSEs
(NOTE: zEDC compression is not performed for members smaller than 64KB.)