AppCode 2019.1 RC: Faster Highlighting for Swift Files

Posted on by Stanislav Dombrovsky

Hi everyone,

We are now on the final stretch of the approaching release and have the AppCode 2019.1 Release Candidate available to download from our site (note: an active subscription is required).

This build makes the code highlighting in Swift files much faster than before – let us know if it works for you!

Your AppCode Team
JetBrains
The Drive to Develop

Comments below can no longer be edited.

19 Responses to AppCode 2019.1 RC: Faster Highlighting for Swift Files

  1. David Whetstone says:

    April 4, 2019

    I really appreciate you guys spending time to improve this. Can you describe what aspect of code highlighting I should see a performance improvement in? In my codebase, when I open AppCode 2019.1 RC, it takes 6 minutes from opening before the source files are fully highlighted, and almost another minute before the icon at the top right turns to a green checkmark. Should I be seeing an improvement here in the RC?

    • Stanislav Dombrovsky says:

      April 4, 2019

      Here we mean the time needed for highlighting the file after initial symbol caching / loading is finished (starting from the moment when no progress is shown in the status bar).

      • David Whetstone says:

        April 4, 2019

        Thanks for the reply. I misspoke before. The times I mentioned were after that point, not from app start. So for me it’s 6 minutes from the time the progress bar disappears before highlighting shows up. I’ll have to reload the previous EAP and compare times.

      • David Whetstone says:

        April 4, 2019

        I restarted the RC to replicate my prior experience, and it took a nearly identical amount of time from disappearance of progress bar to completion of highlighting – 6 minutes.

        I reverted to the previous EAP (191.6183.83) and reran the same scenario. Unfortunately, it was actually slightly faster than the RC – taking about 5 minutes 40 seconds to complete highlighting.

        Totally not trying to rain on your parade. I’m extremely grateful for you guys spending time in this area, as it’s one of my biggest pain points with AppCode.

        • Stanislav Dombrovsky says:

          April 5, 2019

          Would be great to investigate, why the speed wasn’t improved for your project. Here the CPU Snapshot captured from the moment when no progress is displayed in the status bar can help a lot (in fact, it’s the only way for us to find the performance bottleneck).

          Could you please also tell if the code highlighting speed for other files opened after the first file is highlighted is the same?

  2. Aleksander Zubala says:

    April 5, 2019

    When I saw this blogpost I got excited that issue I experience got resolved, sounds like we are not there yet. I feel your pain David! I’m a big fan of AppCode and I’ve been using it for years. Currently in my mixed Objective-C & Swift project the initial processing takes approx. 10 minutes after progress bar disappears. Basically it’s all about resolving symbols, since when I check in ApppCode menu item Help -> Activity monitor… it says something like:

    “`
    %CPU Subsystem

    85.4 cidr.lang.modulemap.resolve (in com.jetbrains)
    13.1
    6.5 reference (in com.intellij)
    3.9
    3.9
    3.4
    1.4
    1.3 components.impl (in com.intellij.openapi)
    “`

    I know that keeping up to date with Swift versions and Xcode is important but this issue has to be resolved, I’m drinking too much coffee due to this forced coffee breaks during AppCode initialisation ☕️

    • Stanislav Dombrovsky says:

      April 8, 2019

      Could you please capture the CPU Snapshot as described here? It will help us a lot to understand, why the highlighting is slow for your project.

  3. Andrew says:

    April 5, 2019

    Also I ran into very slow searching through symbols. AppCode just hung up and after several minutes I saw that AppCode not responding. Maybe you can suggest some setting that prevent such situations? My project quite large with ObjC legacy and Swift files in same proportions.

    • Stanislav Dombrovsky says:

      April 8, 2019

      First, it makes sense to check if IDE has enough memory available. Could you please enable the memory indicator via Preferences | Appearance & Behavior | Appearance | Show memory indicator and send us the screenshot of the bottom-right IDE corner?

  4. Andrew says:

    April 5, 2019

    And one more problem – trying to open a file, but seeing spinner with “Loading” that never disappears

    • Aleksander Zubala says:

      April 5, 2019

      Andrew I learned that if AppCode is not finished with this post-loading bard initialisation (before code is highlighted) when you cmd+click on type or method it hangs for ever 🙂

      • David Whetstone says:

        April 5, 2019

        Same here. I’ve learned not to touch it until it’s completely done.

  5. Stuart Robertson says:

    April 5, 2019

    I can attest to the “if AppCode is not finished with this post-loading bard initialisation (before code is highlighted) when you cmd+click on type or method it hangs for ever” comment.

  6. Aleksander Zubala says:

    April 9, 2019

    I did some thinking about the issue we all experience. Perhaps the intermediate solution that would improve the overall UX would be to not hide the progress bar when the process `cidr.lang.modulemap.resolve (in com.jetbrains)` is still going on.

    Instead you could present a progress for the resolve process. This way AppCode user could build mental model of what’s happening at the moment. Currently IDE reports it’s done but it’s not true and this leads to frustration

    • Stanislav Dombrovsky says:

      April 9, 2019

      In fact, we have progress for that, it’s a small eye in the top-right corner of the editor window. It shows if inspections and highlighting are finished, and even shows the progress of this process on the right-click.

      • Aleksander Zubala says:

        April 9, 2019

        I’ve seen that but I think this only applies to currently viewed file while I think it would be better to show the global progress for all files.

      • Aleksander Zubala says:

        April 9, 2019

        I checked this option and for me it stays at 0% all the time I’m waiting to the resolve process to be finished:

        https://drive.google.com/file/d/1o_92aI5Yn3F78UMHYkrPlmbnsrarS7bG/view?usp=sharing

        • Stanislav Dombrovsky says:

          April 9, 2019

          I think the resolve is so slow in your case that you can’t wait until it completes at least 1%. In normal situation, the progress in this popup is updated.

Subscribe

Subscribe to product updates