Skip to Content

Is there a faster way to compile?

Estimated Reading Time: 1 Minutes

There are several techniques that can increase the speed of compilation.

  1. Use wildcards to compile multiple programs together in one Java instance instead of compiling each separately, which closes and opens a separate Java process for each compile.
    (eg: iscc src/prog*.cbl instead of iscc src/prog1.cbl, iscc scr/prog2.cbl etc.)

  2. If you are compiling with version 2020R1 or earlier, split the compilation into two steps (This is not necessary after compilation improvements included in version 2020R2).
    • Compile all of the source files with -jj (and omit -jc) to produce just the .java intermediate source files.
         iscc -jj *.cbl
      	
    • Compile all of the .java source files into .class files with the JDK compiler using wildcards.
         "%ISCOBOL_JDK_ROOT%/bin/javac.exe" *.java
      
    • You can run this in the background to run both steps in parallel
         "%ISCOBOL_JDK_ROOT%/bin/javac.exe" *.java &
      
  3. Use the IDE
    • Put your source code into an IDE project
    • Let the IDE build the objects in the background

  4. Use ant
    • Create a build.xml script including dependencies
    • Run the ant utility to compile just the files that require it

  5. Use make
    • Create a makefile
    • Run the make utility to compile just the files that require it
You can get more information in isCOBOL Evolve's documentation, under the Appendices/Performance Tuning/Guidelines for faster compilation section.

Is there a faster way to compile?