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-extfh
compiler 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