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.

CCSV6 debugging/stepping slow, due to disassembly/variable viewsH

Other Parts Discussed in Thread: CCSTUDIO

Hi,

Side by side comparison with one session of CCS5 and CCS6.1 shows that V6 takes some 3 times of V5 in stepping operations.

Further trials on our machine suggest that the low speed is due to “variable” “disassembly” window updating. Closing these views in debugging facilitates the speed and could step/hit breakpoint as fast as normal.

However, such are the gist of the debugging perspective which should not be disabled.

 

JDK: latest 8u45, both 32 and 64 bit installed.

CCS is 6.1.0.00104.

the eclipse.ini is also already tuned when the 3x time stepping/breakpoint debugging performance difference is clearly felt:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20140603-1326
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Xms384m
-Xmx1280m


originally (after install)
-vmargs
-Xms40m
-Xmx512m

Eclipse.org says “The 3.x platform had many years to optimize the critical code paths, and these optimizations will take time to make on the 4.x stream over the coming releases.”

So what is TI’s stance on this? Basically it appears that the slowing for CCS6 is due to specific views. Can they be optimized/fixed quickly instead of waiting for the NOG like eclipse.org’s time-taking moving-ons?

 

Matt

  • Hi Matt,
    How many variables do you have in your variables/expressions view? And do you have Continuous Refresh enabled?

    Note that eclipse.ini is not used by CCS. It uses the equivalent ccstudio.ini file.

    I don't think your particular case is related to an eclipse specific (lack of) optimizations.

    Thanks
    ki
  • Ki,

    I have been working with V6 for several days. Still, the stepping and debugging information (variable, memory view, disassembly view) updates are slow. It takes some 2 seconds for each breakpoint hit or “Alt+S” suspend. The machine is Intel 3.1G+ with 4cores and 16G RAM.

    Any tricks to make the stepping/breakpoint debugging information updates faster?

     

    Matt

  • What emulator / connection are you using? If you are using one of the lower performing emulators (like XDS100), moving to a higher class emulator like XDS200 or XDS560v2 can make a big difference.
  • Ki,

    I am already using XDS560V2; also I noticed that either CCS6 installation package or "software update" had shown updated drivers for Spectrum Digital emulators and I installed it.

    With the same emulator, CCS6 is just slow in debugging.

    Could there be other tunings?

    Matt
  • XDS560v2 is a high-performance emulator so your emulation connection is not the issue. Could you answer my previous question:

    "How many variables do you have in your variables/expressions view? And do you have Continuous Refresh enabled?"

    Also what exact target is this?

    Thanks
    ki
  • Ki,

    It is not “continuous refresh”.

    In variable view, etc., there is a downward small triangle icon which allows to select “automatic” or “manual” or “only when hit breakpoint” three option’s “update policy”.

    I have tried “manual” in hope to speed the UI up, basically similar to closing “variable” “register” views, and indeed it had some appreciable effect, but it was still much slower than ccs5.5, and feels very inconvenient because one needs to click the “refresh” button manually every time.

    It has nothing to do with XDS560V2 emulator. In fact I see the same difference when debugging ez430 board with FET430-UIF.

     

    Matt


    p.s., on your colleague's machines do they actually find CCS6 is as fast as V5, or they cannot feel the difference? Such an eclipse Juno performance issue is somehow infamous for many users and that was why I asked if TI could somehow make own adaption of the eclipse project.

  • Ki,

    Not exactly “continuous refresh”.

    A downward triangle icon allow select between “automatic” “when hit breakpoint” “manual” update policy. If I select manual, the UI becomes more responsive but still quite some slower than v5, yet it is very inconvenient. It is just as closing these variable/register/disassembly views.

    It is not emulator problem. I have the same issue when debugging ez430 with FET430-UIF.

     

    p.s., this eclipse Juno performance issue is well-well-known (pls google). Do the CCS team actually not feel any performance difference between V6 and V5?

     

    Matt

  • I personally have not seen much of a performance difference. I did some benchmarks myself and when I added a lot of values in the expressions view and opened up a lot of other debugging related view, I saw perhaps a slowdown of about ~0.5 seconds in v6 vs v5.

    However there is a known issue with some C28x targets where there is clear slowdown in performance. I'm not sure what target you are working with but also said you see the same issue with MSP430 so it does not sound related. If you can provide a test case for the target you are using, i can try to reproduce it.
  • Also, to be clear, CCSv6.0 is based of Kepler (Eclipse 4.3) and 6.1 based off Luna (4.4). The Juno performance issues you refer to were supposed all fixed with Kepler.
  • Ki,

    "Hi Matt,
    How many variables do you have in your variables/expressions view? And do you have Continuous Refresh enabled?

    Note that eclipse.ini is not used by CCS. It uses the equivalent ccstudio.ini file.

    I don't think your particular case is related to an eclipse specific (lack of) optimizations.

    Thanks
    ki"

    for V5, if I would like to start eclipse with the "clean" option, should I then add the "-clean" parameter to "ccstudio.ini" or "eclipse.ini"?

    ccstudio.ini
    -startup -clean
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    -product
    com.ti.ccstudio.branding.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.ti.ccstudio.branding
    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Dosgi.instance.area.default=@user.home/workspace_v5_5
    -Dorg.eclipse.equinox.http.jetty.customizer.class=com.ti.ccstudio.gui.composer.http.jetty.MaqettaJettyCustomizer
    -Xms40m
    -Xmx384m
    -XX:ErrorFile=C:\Users\User\AppData\Local\.TI\693494126\0\dmp\hs_err_%p.log

    eclipse.ini
    -startup -clean
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -vmargs
    -Xms40m
    -Xmx384m


    and does this "-clean" parameter solves the problem in 5.5 that:

    over time untidy information get accumulated in the workspace which ultimately leads to the more frequent "refreshing windows" message?

    Matt

  • Add it to ccstudio.ini.

    -clean can help. Also cleaning out your workspace (you may have already done this) is always a good thing to try.

    Thanks
    ki