Slow AppCode is Slowwww

Ok, I've had it with AppCode! I liked it a lot some years ago. I kept recommending it to fellow engineers but it seems recently Jetbrains dropped the ball on this IDE. Using this tool has become an every day frustration for me. After trying 2019.2 which is unusably slow I went back to 2019.1.5 which is just borderline slow. Here's a list of the many issues I face with this IDE in a medium-sized project on a 2015 Macbook:

- Slow code completion! It takes anything from 5-30 seconds for AppCode to show code suggestions.

- Compilation is 1.5 to 2 times slower than Xcode.

- Cannot use Xcode at the same time! If launching Xcode the connection to the simulator will become unusable and you have to restart AppCode to get it working again.

- After restart and especially after pod install/repo merge AppCode goes into its mapping- and indexing mode again which takes anything from 1 to 5 minutes in our project before the IDE can be used.

- After above step is done AppCode takes another couple of minutes to finish code analysis, AFTER it FINALLY managed to start the code analysis which also can take a while (you wont see syntax hi-lighted code until then).

- Issues related to the general slowness of AppCode such as seeing a "Loading..." for up to 20 seconds when opening a source code file or AppCode simply freezing for ~10 seconds when pasting a class into a code file.

- This is all with generous amounts of RAM supplied to AppCode (I set Xmx to 4GB).

- AppCode 2019.2 is a couple magnitudes slower with the listed issues.

These issues have gotten to a point were it seriously impacts my work performance negatively compared to other engineers who use Xcode. I dislike Xcode but there isn't really any other choice with the poor performance delivered by AppCode. I will not extend my subscription next time. This is a bummer! I really like some of Jetbrain's tools (using Rider at home which is great) but recent AppCode releases are just a pain to use now.

7 comments
Comment actions Permalink
Official comment

Hi Avalonsutra, we are sorry to hear that you are unpleased with our product. We are aware of performance issues, and during current release cycle our focus is almost entirely dedicated to improving AppCode's performance. You could help us to improve AppCode, if you provide some details about issues you've mentioned:

> It takes anything from 5-30 seconds for AppCode to show code suggestions.

Could you please capture CPU snapshot and file a ticket in our tracker with snapshot attached, so we can investigate your case?

 

> Compilation is 1.5 to 2 times slower than Xcode.

AppCode's BuildSerivce internally uses Xcode's build system for build and normally build time should wary from Xcode's performance insignificantly. Only if there is something wrong with BuildService, AppCode will fallback to xcodebuild, which could cause compilation time degradation.

Could you please check, that BuildService process exists when you build project from AppCode? (ps ajx | grep BuildService). If it does, and compilation is still way slower than in Xcode, I'd kindly ask you to capture CPU snapshot during AppCode build and file an issue in our tracker with AppCode logs attached (add `#com.jetbrains.cidr.xcode` to "Help > Debug Log Settings", and then "Help > Show Log in Finder").

 

> Cannot use Xcode at the same time! If launching Xcode the connection to the simulator will become unusable and you have to restart AppCode to get it working again.

I've tried to reproduce issue locally with recent AppCode 2019.3 and Xcode 11.2 on sample project, but unfortunately wasn't able to observe the issue. Have you tried restarting Simulator or Xcode, does it help?

Could you please clarify, how exactly Simulator connection becomes broken, do you mean, that the problem is that neither Xcode, nor AppCode are not able to run anything on it? What error do you see in AppCode/Xcode in that case? Could you please provide steps to reproduce the issue?

Would you kindly file a ticket in the tracker and attach collected logs with STR? (add `#com.jetbrains.cidr.xcode` to "Help > Debug Logs Settings", reproduce issue, "Help > Show Log in Finder")

 

> After restart and especially after pod install/repo merge AppCode goes into its mapping- and indexing mode again which takes anything from 1 to 5 minutes in our project before the IDE can be used.

When you change project model AppCode have to reload and reindex project, and unfortunately there is currently no other way around. We are aware of the issue, and thus in current release cycle we are working hard on decreasing indexing time and improving AppCode performance.

As a temporal workaround, you could try disabling unused indexing contexts "Preferences > Build, Execution, Deployment > Xcode" select "Index resolve contexts for > Simulator" for example, if you don't need resolve to work in device context. This should decrease indexing time, since lesser contexts will be processed.

 

> After above step is done AppCode takes another couple of minutes to finish code analysis, AFTER it FINALLY managed to start the code analysis which also can take a while (you wont see syntax hi-lighted code until then).

Could you please capture CPU snapshot and file a ticket in our tracker with AppCode log attached?

 

> Issues related to the general slowness of AppCode such as seeing a "Loading..." for up to 20 seconds when opening a source code file or AppCode simply freezing for ~10 seconds when pasting a class into a code file.

When AppCode freezes, there should be auto thread dumps taken in log dir "Help > Compress Logs and Show in Finder". Could you please file a ticket with these dumps and log attached?

Comment actions Permalink

I agree with this and similar posts, as a long time Jetbrains user and full pack subscriber I'm really disappointed at what has happened to AppCode, seriously you need to get some more resources onto this and sort it out ASAP or the product will simply not survive, for non-trivial projects it is now at the point where it's not really viable, it's not just slow.. it's so stupidly slow that it is essentially broken (I have Macbook Pro 2018 with hex-core and 32GB RAM).

PLEASE no more excuses, no more BS about 2019.3 performance (abysmal) just fix it!

 

5
Comment actions Permalink

I have the same problems. If I don't put self. infront of properties it can't show auto complete suggestions.

1
Comment actions Permalink

Same issue here, I have to write almost the entire keyword before AppCode gets to load the suggestions, the refactoring, method overrides and generation is the same, it got unusable on the large project I'm currently working on. 

0
Comment actions Permalink

To be fair 2019.2.5 seems to be somewhat more reliable again but most of above listed issues still apply.

0
Comment actions Permalink

The two worst aspects for me are the time that it takes to analyze after making a change and the delay (and inaccuracy) for auto complete.  After making a change to a source file I usually have to wait while it shows the "eye" icon, sometimes it pauses (shows "pause" icon) and freezes for up to a minute or more and I can't type.. eventually it appears to finish (shows green tick or yellow warning icon) but then maybe 5 - 10 seconds later it refreshes again to show code issues.

I can live with the initial slow index rebuild but the constant waiting for code analysis is very frustrating. 

When it does autocomplete it often does so with a really spurious suggestion and seems to not understand language keywords, for example every time I type "as!" it replaces it with "assertionFailure()" but this is a separate issue which also happens in WebStorm (eg. "if" is always replaced with "isFinite" in Javascript).

Again this is with a pretty powerful computer with plenty of RAM (and I've allocated AppCode 4GB but it's normally using only half of that).

 

0
Comment actions Permalink

I have a strong gut feeling that slow analysis is not appcode's fault.

Half our studio started complaining when we upgrade xcode. xcode became unusably slow....

So, I suspect that AppCode goes through some tools that is common to xcode and suffers the same issue.

I would start investigating that.


I have a very small project and AppCode is very slow to analyse it and it shouldn't, but xcode has the same issue!

0

Please sign in to leave a comment.