2

I use IntelliJ products across multiple technologies and I have noticed that autocompletion in AppCode works much slower than for the other IDEs.

Example

Screen

What I already did

I've changed the default VM options, and it looks like this now:

-Xss2m
-Xms256m
-Xmx4096m
-XX:NewSize=128m
-XX:MaxNewSize=128m
-XX:ReservedCodeCacheSize=240m
-XX:+UseCompressedOops
-Dfile.encoding=UTF-8
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Xverify:none

-XX:ErrorFile=$USER_HOME/java_error_in_appcode_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_appcode.hprof 

(Notice increased -Xmx)

I've also enabled memory indicator, but it usually shows less than 1GB of RAM used.

Nominalista
  • 4,632
  • 11
  • 43
  • 102
  • Hi, sorry you're having problems. Please collect a [CPU snapshot](https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems#CPU_Snapshot_2019_2) and create an issue on [YouTrack](https://youtrack.jetbrains.com/) or [contact support](https://intellij-support.jetbrains.com/hc/en-us/requests/new?ticket_form_id=66731) – nschum Oct 01 '19 at 12:40
  • Thank you for the comment. I collected CPU snapshot and created an issue as you pointed out. – Nominalista Oct 01 '19 at 12:54

2 Answers2

2

Solution

AppCode 2019.3 (currently in EAP) has improved performance a lot. Here is the video for a comparison:

autocompletion

You can also decrease tooltip initial delay which helps a little bit (Preferences > Appearance & Behavior > Appearance > UI Options).

Nominalista
  • 4,632
  • 11
  • 43
  • 102
0

It's hard to share any correct solution for such an issue without going deep into details. Projects have different structure, the amount of library is different, the project layout is unpredictable, Swift/Xcode versions can affect the performance because of changes in system frameworks and much more. The only way to solve the performance issue is the following:

  1. If possible, share your project in a separate ticket in our tracker.
  2. If you cannot share your project, capture the CPU snapshot as described here. Usually it provides enough information to figure out where the problem is.