action.skip

SyncSort

Syncsort’s data transformation technologies improve the run-time performance of many data intensive applications through algorithm design, architecture exploitation, dynamic optimization, and constant benchmarking. It also optimizes run-time performance through state-of-the-art parallel processing technology and using the best I/O method available. This reduces CPU, memory and disk resource usage, allowing applications to be deployed on significantly smaller hardware systems, in turn lowering hardware costs considerably.

COBOL-IT’s interoperability with Syncsort makes use of the MF Compliant 'External Sort Module' (EXTSM) and 'External File Handler' (EXTFH). The EXTSM interface allows COBOL-IT to swap out its internal SORT engine, used to process SORT/MERGE operations, for the SORT engine provided by Syncsort. The EXTSM interface is enabled with the -use-extsm compiler flag, and the host library routines. The EXTFH interface is used by Syncsort for the application of its highly optimized SORT/MERGE algorithms. The EXTFH interface is enabled with the -use-extfhcompiler flag.

Syncsort algorithms are provided in libraries and are made available to the COBOL-IT program by linking these libraries (Unix) or, where applicable, by ensuring that the necessary DLLs are located in the host system PATH (Windows).

Note

In Windows environments, the key DLL’s are mfsyncsort.dll and syncsort.dll. Installation of Syncsort automatically updates the PATH with the location of these DLL’s. Similarly, the LIB environment variable is updated with the location of mfsyncsort.lib.

As examples:

To compile a program with SyncSort as External sort Module: Supposing SyncSort is installed in $SYNCSORT_DIR:

In Linux/Unix:

      > cobc -x -use-extsm EXTSM -lcitextfh 
      -L $SYNCSORT_DIR/lib 
      -l mfsyncsort -l syncsort myprog.cbl

In Windows:

       cobc -x -use-extsm EXTSM -l citextfh_dll.lib 
       -L $SYNCSORT_DIR/lib 
       -l mfsyncsort.lib 
       -l syncsort.lib myprog.cbl