SMARTBIN

Use SMARTBIN to instruct the compiler to generate modules containing additional binary metadata that enables them to be optimized by IBM® Automatic Binary Optimizer (ABO) for z/OS® 2.2.

Syntax

Read syntax diagramSkip visual syntax diagramSMARTBIN=*YESNO
Default
SMARTBIN=YES when LP=32 is in effect.
Note: SMARTBIN is not supported when LP=64 is in effect.

The SMARTBIN=YES option enables IBM Automatic Binary Optimizer 2.2 to optimize modules created by IBM Enterprise COBOL 6.4.

When SMARTBIN=YES is in effect, the additional binary metadata is placed in a NOLOAD segment of the module. To generate the SMARTBIN metadata, compile times may increase by up to 21% at OPT=0 and 2-3% at OPT=1 and OPT=2 on an IBM z15® (or later) machine with zEnterprise Data Compression (zEDC) enabled (hardware compression turned on). This is in comparison to an increase of up to 33% at OPT=0 and 10% at OPT=1 and OPT=2 on an IBM z15™ (or later) machine without zEDC enabled (hardware compression turned off). The additional metadata will also increase the size of the module on disk, requiring larger load libraries, but will not increase the size in memory when the program is running since it is not loaded. The size increase on disk will be approximately 2 times to 3 times the size of the original binary.

SMARTBIN=YES is the default when LP=32 is in effect. You can change the option to SMARTBIN=NO, however, without the additional binary metadata, COBOL modules built with Enterprise COBOL 6.4 will be ineligible for ABO optimization and you would need to recompile and test your modules in the future to maximize benefit from IBM Z® hardware improvements. If you use ABO or plan to in the future, the SMARTBIN=YES option is recommended.

Notes:
  • IBM Automatic Binary Optimizer for z/OS 2.2 can optimize CSECTs within program modules that were generated by the following COBOL compilers:
    • Enterprise COBOL for z/OS 6

      Newly eligible as of ABO 2.2. ABO 2.2 can only optimize COBOL 6.4 modules if the SMARTBIN=YES compiler option is in effect. ABO 2.2 can optimize COBOL 6.1, 6.2, and 6.3 modules without requiring special COBOL compiler options to be set.

    • Enterprise COBOL for z/OS 5

      Newly eligible as of ABO 2.2. ABO 2.2 can optimize COBOL 5 modules without requiring special COBOL compiler options to be set.

    • Enterprise COBOL for z/OS 4
    • Enterprise COBOL for z/OS 3
    • COBOL for OS/390® & VM 2
    • COBOL for MVS & VM 1.2
    • COBOL/370 1.1
    • VS COBOL II 1.4.0
    • VS COBOL II 1.3.x
  • COBOL modules that have been processed by CA-Optimizer cannot be optimized by ABO. For these types of modules, it is recommended to use ABO to optimize the original module created by the COBOL compiler before it was processed by CA-Optimizer.

Refer to the IBM Automatic Binary Optimizer for z/OS product page for additional information on ABO benefits.

Related concepts  
Storage and its addressability (Enterprise COBOL Programming Guide)
Related references  
LP