The setting of this variable controls the size of the hash table that tracks CALL statements to COBOL subprograms. Each CALL statement tracks its last resolution (target object, entry point, and owning thread). When the resolution is unchanged in a subsequent execution of the CALL statement, the CALL uses the saved information, contributing to improved performance. Each program contains its own copy of this table, so the size should generally be set to a small value.

The default value for CALL_HASH_SIZE is 31. The only reason to change this setting is if your programs contain hundreds of individual CALL statements that target distinct objects. In this case, you may see a small performance improvement by setting CALL_HASH_SIZE to a larger value. You can disable the tracking of these CALL statements by setting the value of CALL_HASH_SIZE to 0.

Note that this mechanism consumes a small amount of memory for each CALL statement. This memory is recovered when the calling object is removed from memory. The amount is machine-specific, but is normally well under 100 bytes per CALL.