Tapestry Training -- From The Source

Let me help you get your team up to speed in Tapestry ... fast. Visit howardlewisship.com for details on training, mentoring and support!

Monday, April 13, 2009

Is it time to abandon IDEA for Eclipse?

I've been a big fan of IDEA since I made the switch about two years ago ... but as I've run each new preview release of IDEA it seems to be getting slower and slower. My Tapestry integration tests take about 5 to 6 minutes to run from the command line; inside IDEA the time to run has recently spiked up: they are now taking 15 - 20 minutes ... I just had a run take nearly 30! My suspicion is that it has something to do with all the console output from the tests. I see the launched Java process (which runs TestNG, Selenium and Jetty) consuming 3% of CPU and IDEA consuming 97%. IDEA is almost completely non-responsive while the tests run. I run both IDEA and the launched Java process with 600M max heap.

Two years ago, IDEA was stable and Eclipse was not runnable on Mac OS X. That's what prompted my first switch to IDEA. I'm now finding Eclipse to run faster on OS X and on Ubuntu. Lately, I feel pulled in the opposite direction: IDEA is quickly becoming too painful to use!


Craig St. Jean said...

Interesting, I've been considering switching from Eclipse to IntelliJ. I like NetBeans a lot more than Eclipse, however find Eclipse to be faster, and have high hopes for IntelliJ. Though I'm not running it on Mac OS X (I don't develop (Java) on my Mac anymore since its PPC).

RDZ said...

Interesting. I'm just exploring IDEA (on mac); I've had issues getting it to properly run the /entire/ test suite (across all modules), but that's more an issue of learning the tool than anything else. But I can run all 1380 tests in tapestry-core in < 6 minutes in IDEA 8.1. As tapestry-core contains the lion's share of the tests, and the slowest tests (selenium), I wouldn't expect the numbers to change much by running all tests. Maybe it's something about your install? I'm running a two-year-old mac book pro, btw, albeit with 2 gigs of ram, but I set max heap to 500 megs.

Despite my novice status as an IDEA user, on the whole, I like it better than even current versions of eclipse; everything feels like a chore in eclipse, compared to IDEA.

Al Wold said...

I'm on a mac and I switched from Eclipse to Netbeans a few months ago, and I found it to be a lot less buggy, more organized and it seems faster. I'm trying out IntelliJ now and I'm not finding the interface to be particularly intuitive. I think Eclipse is still quite a mess and a memory hog, but probably all of the IDEs are these days. In any case, I might suggest at least giving Netbeans a quick try. The maven integration works quite smoothly.

pveentjer said...

From time to time, IntelliJ can be a slow bitch. I use IntelliJ under Linux with Java 6 and even clicking on something (different editor etc) is not responsive when the system is not under load. It doesn't feel snappy and even these small things annoy.

Emilis Kuke said...

IMHO, emacs and screen is one of the best ide. Terminal is not an enemy ;)

CrazyCoder said...

There are some known performance issues caused by the OS configuration, for instance, on Ubuntu this may affect IDEA performance: http://jetbrains.net/devnet/docs/DOC-1112 .

On Mac you should run under JDK 1.5 (32-bit): http://www.jetbrains.net/devnet/docs/DOC-197 .

It's also worth trying 8.1.1 EAP where several performance problems have been addressed: http://www.jetbrains.net/confluence/display/IDEADEV/Diana+EAP .

If you still have issues, please contact JetBrains support team, see http://www.jetbrains.net/devnet/docs/DOC-192 for the instructions.

Howard said...

I'm running Diana-9805, and I just switched from JDK 1.6 to JDK 1.5 (32 bit) to see if that makes a difference. I thought JDK 1.6 was supposed to be faster (!).

... and, no, it's not running any faster with the "proper" setup. I'm going to give NetBeans a spin!

CrazyCoder said...

CPU snapshot would help to find and fix the problem. Please provide one if you have some time for this.

Howard said...

Running the test suite from Maven (the command line) takes the expected time: 300 seconds. This really points to a problem inside IDEA.

Kevin Menard said...

I agree. It's getting a bit tiring with the maven problems. But, I still really like code inspections and the Ruby integration is much better than Eclipse. Additionally, Eclipse has just made the download selection ridiculously confusing. I really don't know what I should be grabbing any more.

Anonymous said...

Future shines bright on OS X and Eclipse. IBM has ported SWT to Cocoa which translates to Eclipse Galileo (24th of june) going to be just perfect ;)


Yves Zoundi said...

NetBeans all the way.

I was using Eclipse from early 2.x to 3.0. Every thing was going right most of the time and maven 1.x support was really good.

After many frustrations at work and on some open source projects, I had to give NetBeans a try. Yes the text editor is not as powerful as Eclipse but :
- Your workspace don't get corrupted for no reason
- You don't have subversion plugins which still don't know a projection which is still under version control
- You don't wait too much for GC calls
- You don't have messy plugin installations most of the time for some obscure reasons
- You have decent and well organized plugins/features but those features are "quite" stable.
- I could go on all day :-) ...

With IntelliJ I had problems with 8.x on the Mac, but on Windows/Linux it was fine. I was tired of going through the JIRA dashboard. The docking windows framework is almost primitive compared to Eclipse, NetBeans. The IDE is smart but I don't find it as simple and as usable as Netbeans even if NetBeans lacks some features.

NetBeans has the best Maven support out there IMHO. You can't go wrong by giving it a try.

Andrew Binstock said...

Have you contacted tech support at IntelliJ? When I ran into slow tests a while back, they sent me a profiling utility and asked me to send them the generated log file. They were able to diagnose the problem immediately.

Massimo said...

Well Howard when you've had time to test all the IDEs around you'll get back to Eclipse.

Mark my words ;)

Jonathan Ellis said...

You say "mvn inside intellij is slow" and conclude "intellij sucks" (paraphrasing, obviously) but I chalk it up as another reason to stay the hell away from mvn. :)

Howard said...

Nope, Maven is not involved in this at all. IDEA launches a process running Java (not Maven!) and then consumes 98% of the CPU while the launched test process consumes 2%.

mveloso said...

Eclipse and Netbeans are open source projects, like Tapestry.

I was wondering, which IDE is most used by users tapestry?

Perhaps tapestry developers will obtain more feedback using the same environment.

Gabriel said...

Hey All,

For those who have had problems with eclipse in the mac, I know your pain I was very close to give up eclipse for netbeans (Is slower but less buggy than eclipse 3.4), until yesterday I decide to try Eclipse 3.5 M6, until know is excellent I recomend you all to try it, eventhought is a milestone Im really thinking on using for my normal work, Is fast and I have not found errors yet, and for the maven users i suggest you to install m2Eclipse 0.9.8 is not as easy to use as intellij idea or netbeans plugin but is good.