Performance problems

Our project is not that large (about 700 source files ignoring test cases) but highly modular being made up of 134 modules.

We adopted the Irida EAP for its Subversion support around build 3060 and find many of the other improvements since 4.5 add greatly to the tools productivity.

Sadly, the productivity gained through new features is offset by the degradation in performance.

We use dual Xeon PCs for our pair programming stations. IDEA, often after switching from one source file to another, will stop responding to the mouse or keyboard. When this happens one of the CPUs goes to 100% and it can take some time (30 to 40 seconds) for the IDE to recover. We have found that setting the CPU affinity of IDEA to a single processor reduces the frequency of the lock up but does not prevent it entirely. (5.0.2 seems to lockup regardless of the affinity setting, build 4049 seems to work OK with one CPU)

If we add a new module or change module settings, IDEA will pause for 10 to 15 seconds on pressing the “apply” button.

Today, when using IDEA, my machines twice ran out of virtual memory. Once on a PC with 1G RAM and the second time on my book with only 512MB. The vmoptions in the IDEA /bin directory are set to use max 256MB on the notebook and 392MB on the larger machine. Both occurred shortly after a checkin to Subversion but that may be coincidental.

Please let me know if there is anything I can do to help you determine the cause of these hangs or memory leaks.

5 comments

Some of your lockup problems might have been related to the bundling of jre 1.5_05 which had some problems.

You should capture some memory and cpu snapshots and file them with a Jira request for each specific problem. Add -agentlib:yjpagent=port=10100 to idea.exe.vmoptions and then run IDEA. Click on the toolbar icons to start/stop cpu and memory snapshots. Then file Jira requests and attach the snapshots or upload them to ftp.intellij.net/.uploads

-Alex

0

I have posted a dump to http://www.jetbrains.net/jira/browse/IDEA-5993. I was using build 4049, so I have just upgraded to build 4055 and will post another dump if I encounter any problems using it.

0

I have been using build 4055 for over a day and find it to be a great improvment on recent builds. I have not noticed any memory leaks or lockup problems.

I have been using it with two CPUs enabled and encounter an occasional brief pause. When I switch from one source file to another the syntax highlighting can take a few seconds to catch up but the editor remains responsive.

IDEA is once again a pleasure to use.

0

Hello Eamon,

EW> IDEA is once again a pleasure to use.

I don't know how many apps would not be a pleasure to use of a dual cpu machine.

R


0

> I don't know how many apps would not be a pleasure to
> use of a dual cpu machine.
>
You would be surprised. Usually the problem is poor synchronization. Inappropriate use of spin locks, use of "unsynchronized accessors" and more rarely poor locking strategies being applied to object graphs.

I got my first dual CPU PC about 6 years ago (I needed it because I worked a lot with multi threaded C++ at the time, honest :) and none of my games worked unless bound to a single CPU.

Things are improving, particularly with game developers, as more realise that "unsynchronized accessors" are evil.

0

Please sign in to leave a comment.