Performance issues in 14.0.2? OS X?

I have lately had trouble using IJ due to performance issues. This is on a Macbook Pro, OS X 10.10.1, 8GB, plenty of available storage space on an SSD. IJ is pretty performant at start-up but fairly quickly things become, for lack of a better word, "sticky": shift-option-arrow to select text may take a second or two seconds to actually move the cursor and highlight the selected text, closing or switching tabs takes a few seconds, random intermittent pinwheel appearances, no response to mouse clicks, etc.

I work this machine fairly hard, running a VM and IJ, Outlook, iTerm with tmux sessions, and plenty of other utilities and the like. So I don't expect it to fly like lightning. But not that long ago it was much better and I'm wondering if it's a matter of the 14.0.2 release and/or the bundled JDK or what the heck's going on.

One thing I notice that I haven't seen before (doesn't mean it wasn't there)... when I "run ps ax | fgrep IntelliJ", the things you'd expect all show: idea, fsnotifier, and a big fat process that is basically the bundled JDK running the main IntelliJ app. But there's another one that basically comes down to this:

java org.jetbrains.jps.cmdline.Launcher org.jetbrains.jps.cmdline.BuildMain

Is that new?

Anyway, I don't have anything to pin my performance issues on IJ other than the issues seem to have started sometime around the time I updated to 14.0.2. Has anyone else observed this sort of issue?

2 comments
Comment actions Permalink

I and other members of my team are having issues with a similar configuration.

(It should be noted that I wrote this post today while I waited for Intellij to let me work again in the background ;-) )

Like many Java developers, I was so pleased several years back when I was turned on to Intellij by a fellow developer.  There were so many improvements over Eclipse that Intellij literally "caught like wild fire" in my then place of employment.

Up until two months, I continued to feel strongly towards Intellij.  Then we decided to upgrade from 12.x to 14.x.  We made this decision based on two features that have better support in 14.x, better run configurations for Jetty and GWT Super dev mode.

The primary issue is very poor performance.  This manifests itself in several operation types:

1. Making any kind of Maven dependency change
Our current project has a single root pom where we list Maven dependencies in a dependency management section.  This allows us to standardize on dependency version.  This pom is the parent pom of roughly twenty Maven modules that make up our system.  Each modules depends only on what it needs.

Adding a dependency in Intellij 12 was pretty much a non event.  Intellij would "grumble" for a few seconds and then allow me to go on my merry way.

Adding a dependency in Intellij 14 is like asking for a mountain to be moved.  Today I added a dependency for ehcache to our root pom and had to wait a full twenty minutes for Intellij to stop thrashing.  While it is thrashing I of course get the dreaded "X processes running" notification at the bottom.

Any time I see X processes running in Intellij 14, Intellij becomes unusable.  Moving inside the editor becomes impossible, switching tabs at the bottom becomes impossible, selecting menu options becomes impossible.

While adding a dependency to dependency management, I get up to as many as 32 processes running.  These are usually of three types:

* Updating indices
* Updating OSGI indices
* Importing Maven Projects

At this point, it is effectively impossible to edit pom files in Intellij.  Any change freezes the editor so fast that making a second change requires a 10-15 minute wait.

2. Running an external Maven build.

Again, in Intellij 12, this was a minor "burp", maybe a five second hiccup.

In Intellij 14, this is a 3-10 minute wait after the build is complete and I switch back to Intellij (Time range depends on where in the tree I built).

Here are some other pain points:

* I literally cannot move around in the editor if even 1 background process is running.
* Sometimes I even get freeze up when nothing is running, usually shortly after something has been running.
* Intellij actually uses up all of the 2GB of Ram I give it.  Do I actually need to increase it?


Environment I'm running is:
* OSX 10.9.2, MacBook Pro Retina, Mid 2012
* 2.7 GHz Intel Core i7
* 16 GB 1600 MHz DDR3 Ram
* 470GB SSD Hard Drive
* Intellij 14.0.2

I've also added some optimizations to my Intellij startup.  This is what my idea.vmoptions looks like:

-server
-XX:ReservedCodeCacheSize=96m
-XX:+UseCompressedOops
-Xms2048m
-Xmx2048m
-XX:NewSize=512m
-XX:MaxNewSize=512m
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+UseParNewGC
-XX:ParallelGCThreads=4
-XX:MaxTenuringThreshold=1
-XX:SurvivorRatio=8
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:+CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=65
-XX:+CMSScavengeBeforeRemark
-XX:+UseCMSInitiatingOccupancyOnly
-XX:-TraceClassUnloading
-ea
-Dsun.io.useCanonCaches=false

Conclusion


Right now, I've given up editing poms in intellij.  I've also gotten used to having to take two breaks for a full compile, one for the build and one to wait for Intellij to catch up.

I haven't used eclipse in years...it would probably take alot of productitivy loss to switch back.  But this situation has even caused me to entertain this step.

I will send a link to this post to support and ask them if this should be posted as a defect.

Any advise is appreciated.

0
Comment actions Permalink

Just to follow up on my post above...

I opened a ticket with Jetbrains, pointing back to my post and was advised to upgrade to the latest version (14.1.1).  Once I did so, pretty much all of the performance areas I list above have shown marked improvement.  It is clear that Jetbrains was aware of how bad this was and took steps to address this.

Intellij is pretty much back to the performance level I had grown accustomed to in 12.x.

0

Please sign in to leave a comment.