This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compilation speed reduced on C6000 compiler

Hi,


We are porting one project from CCS 5.1.0 into CCS 6.1.0. Output is OK and working as expected.

But the problem is, In CCS 6.1.0 , it is taking very long time to compile. It is taking almost 45 mins to complete. Same code can be compiled in CCS 5.1.0 within 20 mins.

Its crazy. Is there any option to speed up the compilation in CCS 6.1.0? I tried with optimization enabled for code and code size. Anyway same problem occurs.

We used C6000 compiler.

Dear Experts!, Please help us to fix this!

Thanks in advance,

RajeeSankar

  • I'm not sure of the cause, and I don't want to guess.

    I need to know the version of the compiler (not CCS) that causes the problem.  Please see this wiki article for details on determining the compiler version.

    Show all the build options exactly as the compiler sees them.

    When the build occurs, is most of the time taken up by building one file?  Or is the time distributed more or less evenly across all the files?

    Thanks and regards,

    -George

  • Thanks George.


    version details:

    C6000 compiler tools version 7.4.13

    SYS/BIOS version 6_41_04_54

    XDCtools version 3.30.6.67_core

    //When the build occurs, is most of the time taken up by building one file?  Or is the time distributed more or less evenly across all the files?// - Yes, it is taking long time while building one particular file.

     

    Regards,

     Rajee

  • Rajee Sankar said:
    it is taking long time while building one particular file.

    Good.  Let's focus on this file.

    To workaround the problem ... It is likely (though not guaranteed) that lowering the level of optimization will speed the build.  Lowering optimization for the entire build would impact performance and code size, so avoid that.  But you can lower optimization for just one file.  If you build with CCS, then see this wiki article.  It may be that one function within the file is the problem.  To identify this function, build with the option --verbose.  This causes the compiler to issue progress messages for each function processed.  You will see which function takes all the time.  Once that is known, you can build this file with the same optimization as the rest.  Then lower the optimization level for that one function with the #pragma FUNCTION_OPTIONS.  Please read about that pragma in the C6000 compiler manual.

    To help us find the cause of the problem ... Please submit a test case.  We need the preprocessed form of the problem source file.  We also need the build options, exactly as the compiler sees them.

    Thanks and regards,

    -George

  • Rajee Sankar said:
    Yes, it is taking long time while building one particular file.

    Given that SYS/BIOS is in use, can you check that it is really only one particular source file. The reason is as noted in the thread Machine specs to improve CCS build time? while the output from a SYS/BIOS generated makefile can report progress which appears show a single source file is taking a long time to compile, the makefile may actually be compiling multiple source files in-between reporting progress.

  • Thank you so much George. I reduced the optimization level from 3 to 1 and also enabled --verbose option for this particular file. Now it is perfect, compilation time reduced as same as ccs 5 reference code. Its a great help George. Thanks again!
  • Thanks for the reply Chester. It has fixed by reducing the optimization level.
  • Rajee Sankar said:
    I reduced the optimization level from 3 to 1 and also enabled --verbose option for this particular file. Now it is perfect, compilation time reduced as same as ccs 5 reference code.

    I'm glad you have found a workaround to your problem.  However, this is not a long term solution.  The cause of this problem must be found and addressed.  Otherwise it will go on to affect others, possibly some other part of your code.

    That is why I would appreciate if you would send in a test case we can use to find and fix the problem.  Please send in the preprocessed form of this file.  Also show all the build options exactly as the compiler sees them.

    Thanks and regards,

    -George

  • Yes George, I will do.